1.配置类的定义
当使用纯注解开发时,就不再用xml配置文件了,而是把xml配置文件转换成一个配置类
先创建一个类
在类的上方加上@Configuration,这表明设置当前这个类为Spring的配置类,@ComponentScan代表扫描定义的Bean对象,括号里面是扫描的路径,@PropertySource是用来加载定义的properties文件,这样就定义好了一个配置类。
使用配置类开发,程序获取容器的方法也会变化
使用AnnotationConfigApplicationContext()方法加载定义的配置类,初始化容器,括号里面是所定义的配置类,然后从容器中获取Bean对象
2.注解扫描注入Bean对象
使用注解开发时,要把实现类注入到容器中时,不在xml中进行,而是在实现类中加入一个注解
@Component注解表示将当前的实现类注入到容器中,如何通过配置类的@ComponentScan标签进行扫描,就可以知道当前的实现类是一个Bean对象,@Scope用来说明创建单例或是多例的对象
@Component注解还衍生出来三个子注解,分别是@Controller,@Service,@Repository,这三个分别作用在表现层,业务层,数据层的实现类,作用和@Component是一样的
3.注解依赖注入
配置类开发的依赖注入是采用自动注入的方式
1.引用类型注入
在所需要注入的引用类型上加@Autowired注解,表示把容器中数据类型是bookDao的Bean对象,注入到当前的实现类中,用这个方式可以省略 set() 方法
2.简单类型的注入
在属性上面加@Value表示为当前的属性赋值,括号里面就是赋给属性的值
3.从properties中获取属性值
创建一个properties文件,在文件里写入内容
然后@Value括号里面换成 ${ } ,然后里面引用properties文件里的属性。
4.注解注入第三方Bean
@Bean表示当前的方法返回一个bean对象,该方法用来获取需要管理的第三方Bean对象
还要在配置类的上方加上@Import(SpringConfig.class),表示导入第二个配置类
5.第三方Bean依赖注解注入
方法的形参是当前的bean对象所需要依赖的bean对象