spring注入在xml上配置一般资料有很多,学习annotation注解替代xml进行bean注入,annotation的目的不是取代xml,就像spring不是取代哪一个框架一样
spring注入失败原因:
1.很多原因网上都能百度到
2.在类中通过@Autowrite注入,当前类没有在spring容器中管理(可能大家都很少遇到这个问题,自己记录下或者有初学者也会遇到该情况)
从上图可以看出,getbean是可以拿到对象的,说明spring容器已经注册并管理该类,而通过@Autowrite注入的却是null
通过注解完成spring注入
1.使用@Configuration@ComponentScan注解一个配置管理类,被@Configuration注解的类相当于xml文件的beans,在类中定义@Bean,相当于xml里定义的<bean 标签
2.@ComponentScan注解指定spring容器初始化时扫描的类包,basePackages参数指定包,basePackageClasses参数指定类
3.AutowiredAnnotationBeanPostProcessor注解需要在配置管理类中以@bean注解注释,因为xml中要想自动注入需要通过指定该类进行识别?(具体也不太清楚,反正xml中的配置搬过来,O(∩_∩)O哈哈~)
4.其余使用@Autowrite注入即可,在测试类中使用
ApplicationContext context = new AnnotationConfigApplicationContext(ConfigurationDB.class);进行spring容器的初始化,如果有多个配置类也可以像xml那样进行
下面贴下我的代码
配置管理类:
模拟应用类:
测试类: