Spring 零碎基礎(chǔ)知識(shí)整理(一)

  1. @Component與@Component("name")
    區(qū)別:
    @Component("name"):相當(dāng)于給這個(gè)組件Bean設(shè)置非默認(rèn)的ID標(biāo)識(shí),并命名為name.
    @Componen 不加name的話,Bean的ID默認(rèn)為類型的首字母小寫(xiě)。
  2. @ComponentScan
    表示:掃描當(dāng)前類的包以及其子包,將標(biāo)記@Component的類自動(dòng)生成Bean。
  3. @ComponentScan("packagePath")
    當(dāng)把配置集中放入某個(gè)地方時(shí),@ComponentScan只能掃描當(dāng)前類的包及其子包(基礎(chǔ)包),聲明在其他地方的component就無(wú)法掃描到了,因此需要加上("packagePath"),來(lái)指定掃描哪個(gè)基礎(chǔ)包。
    多個(gè)包:
    @ComponentScan(basePackages={"packagePath1","packagePath2","packagePath"3})
    缺點(diǎn):重構(gòu)時(shí),可能會(huì)出錯(cuò)。
    改進(jìn)方法:使用包中的類或者接口名替代packagePath,如:
    @ComponentScan(basePackageClasses={ClassOne.class,ClassTwo.class}),這些類所在的包會(huì)被當(dāng)做組件掃描時(shí)的基礎(chǔ)包。

如果項(xiàng)目重構(gòu)時(shí),作為基礎(chǔ)包的類型或者接口被移除了,那么重構(gòu)時(shí)還是有風(fēng)險(xiǎn),可以使用 空標(biāo)記接口(marker interface)來(lái)指定掃描位置。
就是建一個(gè)空的接口,什么事都不干,將其作為基礎(chǔ)包。這樣,就不會(huì)引用項(xiàng)目的具體類了。

  1. @ContextConfiguration(classed=Xx.class)
    在何處加載配置

  2. @Autowired 與@Inject
    @Autowired是spring特有的注解。
    @Inject 來(lái)源于java依賴注入規(guī)范。
    大多數(shù)情況下,可以通用
    @Autowired(required=false)
    @Autowired可以用在類字段里,也可以標(biāo)注在setter方法上。
    當(dāng)標(biāo)注為@Autowired時(shí),會(huì)自己加載,如果沒(méi)有匹配上,會(huì)報(bào)異常。設(shè)置為required=false,會(huì)嘗試自動(dòng)裝配,如果沒(méi)有匹配到bean,也不報(bào)異常。但是代碼如果沒(méi)有檢測(cè)Null值的話,會(huì)報(bào)null pointer exception。

自動(dòng)裝配多個(gè)bean符合裝配時(shí)的選擇(裝配歧義):

  1. @ResponseStatus(value,reason)
    應(yīng)答狀態(tài),通常用于目標(biāo)方法上,不管該方法有沒(méi)有異常,都拋出指定的異常狀態(tài)。
    如果沒(méi)有異常,目標(biāo)方法執(zhí)行完畢。
    參數(shù)value表示異常狀態(tài),reason表示該異常的描述。

用在類上聲明,則表示自定義的異常類。
通過(guò)throw new Class() 拋出。

  1. @ResponseBody
    用在控制器方法上,表示該方法返回一個(gè)對(duì)象,而不是路徑。
    該對(duì)象是Json格式的對(duì)象。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容