搭建spring框架
概念
Spring是一个管理框架的框架,可以理解为一个大大的容器
一、基于xml文件
1、引入spring的相关依赖包(spring-context)
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.17.RELEASE</version>
</dependency>
2、引入核心配置文件(application.xml)
引入路径https://docs.spring.io/spring-framework/docs/current/reference/html/core.html
以下示例显示了基于 XML 的配置元数据的基本结构:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 将对象交给spring管理
bean标签用来配置交给spring管理的类
-->
<bean id="..." class="...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<bean id="..." class="...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- more bean definitions go here -->
</beans>
3.\1. 使用spring容器创建并使用对象
/****** 启动spring环境并初始化spring容器****
** *** ClassPathXmlApplicationContext是ApplicationContext接口基于XML的一个实现类****
** /*
**
ApplicationContext applicationContext =
new ClassPathXmlApplicationContext("applicationContext.xml");
//getBean从容器中获得对象,根据对象名获得
UserDao userDao = (UserDao) applicationContext.getBean("userDao");
userDao.addUser();
二、注解方式
1、引入spring的相关依赖包
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!--junit 单元测试-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
2.创建配置类Config
\1. 创建一个配置类,任意一个类,但要使用@Configuration
\2. 在配置类中定义方法,用于创建Bean对象,在方法上要加入@Bean注解,@Bean注解的作用,将方法的返回值对象交给spring进行管理,对象名默认为方法名,我们可以通过注解设置对象名
/**
* @Bean:指将方法的返回值交给Spring管理,对象名默认为方法名,
如果需要设置对象名,在在Bean注解中通过name属性单独设置
* @ComponentScan:组件扫描器注解,配置该注解后,Spirng会自动在指定的包中扫描相关类,
* 将需要由Spring管理类,扫描出来并交给Spring管理,可以有多个
@Configuration:加入此注解后该就成了spring的一个配置类
*/
@Configuration
@ComponentScan({"com.jiazhong.dao", "com.jiazhong.service"})
public class MyConfig {
@Bean(name="userDao1")
public UserDao userDao(){
return new UserDaoImpl();
}
}