用注解的方式怎么使用:如下
配置
xmlns:context="http://www.springframework.org/schema/context"
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
要装配成功:第一类型匹配 第二 它被容器管理 (如果没被容器管理 这个类的实例就不在容器里 它就找不到 找不到就会报错 )
自动装配何时执行 :把容器一加载 就会实例化bean bean就会去扫描 扫描包的期间 。。。。。。。。。。。。。
@Autowired的作用是
自动装配,自动根据属性的类型,在spring ioc容器所有资源中找对应类型的bean!
1. applicationContext.xml中找
2. 扫描的包下找
决定能不能找到匹配的bean的必要条件:
1. 类型要与Car一致
2. 要被spring容器管理
结果:
找不见:
且@Autowired(required = true)时,就报错
且@Autowired(required = false)时,就不报错,不注入了!
找见2个类型与Car一致的
--> xml中有, 扫描的包中也有, 最终用扫描包中的那个
--> xml中2个。报错
=================================================================
@Resource的作用是
1. 先按照被@Resource注解的属性名称来装配,如果找不见指定的名称,就进入第二部
2. @Resource就变得跟@Autowired一样了!
思考,如果按照名称找见了,
且找见了2个名称匹配的bean,一个在xml中,一个在被扫描的包中,最终使用xml中的
注解:注入的方式可以重用========================================================