bean的配置
一、在配置文件中的配置
- resources下添加spring配置文件applicationContext.xml,并完成bean的配置
- 关于配置
3. 关于DI的配置
- name="bookDao"中bookDao的作用是让Spring的IOC容器在获取到名称后,将首字母大写,前面加set找对应的setBookDao()方法进行对象注入
- ref="bookDao"中bookDao的作用是让Spring能在IOC容器中找到id为bookDao的Bean对象给
bookService进行注入
二、纯注解开发的配置
- 在BookDaoImpl类上添加@Component注解
注意:@Component注解不可以添加在接口上,因为接口是无法创建对象的。
- @Component注解如果不起名称,会有一个默认值就是当前类名首字母小写,所以也可以按照名称获取
- 配置Spring的注解包扫描
在spring配置文件applicationContext.xml中添加
<context:component-scan base-package=“com.it”/> - 若是没有xml文件则:
1.首先创建配置类 SpringConfig 在类前加注解@Configuration
来替代.xml文件。
2.在配置类上添加包扫描注解@ComponentScan替换<context:component-scan base-package=""/>
@Configuration
@ComponentScan("com.it")
public class SpringConfig {
}
- @Configuration注解用于设定当前类为配置类
- @ComponentScan注解用于设定扫描路径,此注解只能添加一次,多个数据请用数组格式
@ComponentScan({com.it.service","com.it.dao"})
- 读取Spring核心配置文件初始化容器对象切换为读取Java配置类初始化容器对象
//加载配置文件初始化容器
ApplicationContext ctx = new
ClassPathXmlApplicationContext("applicationContext.xml");
//加载配置类初始化容器
ApplicationContext ctx = new
AnnotationConfigApplicationContext(SpringConfig.class);
三、Bean相关注解
3.1@Component/@Controller/@Service/@Repository
@Controller:用于表现层bean定义
@Service:用于业务层Bean定义
@Repository:用于数据层Bean定义
3.2@Configuration、@ComponentScan
@Configuration类注解,设置Spring的配置类
@ComponentScan类注解,设置spring配置类扫描路径,用于加载使用注解格式定义的bean