學(xué)習(xí)記錄之Spring-IOC
ioc控制反轉(zhuǎn)
1.??? 如何配置bean
a)???? 顯示配置 @bean @Configyration
b)??? 隱式配置 @Component @Controller @Service @Repositorty
2.??? 如何獲取Spring對(duì)象容器(上下文對(duì)象,并從中獲取對(duì)應(yīng)的Bean對(duì)象
a)???? 獲取方式:
?????????i.????????? 根據(jù)BeanId獲取
1.???? 直接根據(jù)id獲取,自己強(qiáng)轉(zhuǎn)
2.???? 根據(jù)id獲取,并指定類型,直接獲取對(duì)應(yīng)的類型
????? ii.????????? 根據(jù)類型獲取
3.??? Bean的作用域
a)???? Singleton 單例 默認(rèn)的作用域
b)??? Prototype 原型
c)???? Session
d)??? Reques
e)???? 如何修改作用域:@scope(“...”)
4.??? 依賴注入
a)???? @Autowried
??????????????? i.????????? Spring提供的,默認(rèn)根據(jù)類型注入沒有匹配類型,注入失敗,可以考慮使用屬性required=false解決問題(僅當(dāng)依賴項(xiàng)存在時(shí)才會(huì)注入);注入方式:構(gòu)造方法注入,set方法注入,字段注入
?????????????? ii.????????? 如果有多個(gè)類型會(huì)產(chǎn)生歧義,我們需要消除歧義,使用@Qualifier指定BeanId沒有以上注解,自動(dòng)根據(jù)BeanId注入,
b)??? @Resource
??????????????? i.????????? Java提供的,默認(rèn)根據(jù)name注入,若找不到匹配的name,則自動(dòng)退回到根據(jù)類型注入,若該注解使用了屬性name,則直接根據(jù)name注入,注意:該注入類型不適用于構(gòu)造注入。
5.??? Stereotype注解和Meta注解
a)???? Stereotype注解(組合注解):組件掃描會(huì)檢查自動(dòng)就帶有@Component注解的那些注解,
b)??? Meta注解(元注解):可添加在其他注解上的注解。注:組合注解和元注解并沒有嚴(yán)格的劃分,你既可以是組合注解也可以是元注解。
?