spring 筆記1 @Autowired 與 @Resourse 的區別

spring 官網中 1,5 章分別是介紹IOC  和 AOP

IOC 控制反轉

DI 依賴注入

所謂的Bean 這裡指的是(Spring Bean),是一定在Spring 容器中,有完整生命週期的。


@Autowired 與 @Resourse 的區別

1、包不同,@Autowired 是Spring 包 , @Resourse 是 Javax

2、@Autowired 先byType 的找 ,如果找到多个,再 byName。

@Resourse 是直接  byName 的找。

原因是後置處理器的处理逻辑不同,@Autowired  是由AutowiredAnnotationBeanPostProcessor.java 解析器解析。@Resourse 是 CommonAnnotationBeanPostProcesser 解析器解析。

Autowiring Modles 自動裝配模型,只是針對XML base 的方式的

@Autowired 不算自動裝配,算手動裝配



依賴注入

依賴注入方式: 2種(構造方法 和 set 方法)

依賴注入模型:4種 (no, type, name 和 構造)

如果有多個構造方法,而且參數有很多,Spring 會使用參數多的構造方法



啟動初始化

1、單例是啟動的時候就初始化;

2、原型是getBean 時候才初始化;

但是如果原型,被單例作為依賴時(就是原型的被@Autowired 在 單例bean中),那麼初始化的時候會和單例保持一致,也是單例。

3、針對第二點,如果想獲得原型的bean ,可以使用@lookup 和 實現xxwear 接口

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容