溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么簡(jiǎn)化Spring配置文件

發(fā)布時(shí)間:2021-08-26 15:57:39 來(lái)源:億速云 閱讀:132 作者:chen 欄目:編程語(yǔ)言

這篇文章主要介紹“怎么簡(jiǎn)化Spring配置文件”,在日常操作中,相信很多人在怎么簡(jiǎn)化Spring配置文件問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”怎么簡(jiǎn)化Spring配置文件”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

配置文件簡(jiǎn)化

我厭倦一切配置文件繁重的框架。
***的情況是,框架提供極端靈活復(fù)雜的配置方式,但只在你需要的時(shí)候。

Spring提供了三種可能來(lái)簡(jiǎn)化XML。隨著國(guó)內(nèi)用戶水平的提高,這些基本的簡(jiǎn)化技巧大家都已掌握。

1.autowire="byName" /"byType"

假設(shè)Controller有一個(gè)屬性名為customerDAO, 在Spring配置文件里查找有沒(méi)有名字為CustomerDAO的bean, 自動(dòng)為Controller注入。如果bean有兩個(gè)屬性,一個(gè)想默認(rèn)注入,一個(gè)想自定義,只要設(shè)定了autowire,然后顯式的聲明那個(gè)想自定義的,就可以達(dá)到要求。這就應(yīng)了需求,在需要特別配置的時(shí)候就提供配置,否則給我一個(gè)默認(rèn)注入。

還有一個(gè)更懶的地方,在最最根部的<beans>節(jié)點(diǎn)寫(xiě)一句default-autovwrie="byName",可以讓文件里的所有bean 都默認(rèn)autowrie。不過(guò)Rod認(rèn)為開(kāi)發(fā)期可以這樣,但Production Server上不應(yīng)該使用Autowire。而我覺(jué)得那些自定義一次的地方比如TranscationManager應(yīng)該詳細(xì)定義,而 Dao,Controller這種大量重復(fù)定義的bean就可以偷點(diǎn)懶了。

2.<bean>節(jié)點(diǎn)之間抽象公共定義和 Inner Bean

這太方便懶人了,想不到兩個(gè)獨(dú)立的XML節(jié)點(diǎn)都可以玩繼承和派生,子節(jié)點(diǎn)擁有父節(jié)點(diǎn)的全部屬性。***用的地方就是那個(gè)Transtion Proxy的定義。先定義一個(gè)又長(zhǎng)又冗的父類,然后用子類去繼承它。

另外,還有一個(gè)Inner Bean的機(jī)制,可以把DAO寫(xiě)成Proxy的內(nèi)部類。為什么要寫(xiě)成內(nèi)部類?為了讓Proxy冒名頂替它去讓Controller Autowire。(詳見(jiàn)后面的示例)

3. 寬松的配置, To XML or Not to XML
據(jù)說(shuō)Spring比Struts的配置寬松了很多,這就給人把東西從配置文件中撤回原碼中的機(jī)會(huì)。不贊成什么都往配置文件里曬,造成了Rich Information的配置文件,修改或者查看的時(shí)候,要同時(shí)打開(kāi)Spring配置文件和原碼才能清楚一切。而我希望配置文件就集中做一些整體的配置,還有框架必須的、無(wú)需管理的冗余代碼。而一些細(xì)節(jié)的變化不大的配置和邏輯,就盡量別往里塞了。因此,Success/Fail View 的配置,不建議放在里面。

簡(jiǎn)化后的Spring配置文件

1.Controller只剩下一句

  1. <bean name="customerController" class="org.springside.            bookstore.web.CustomerController" autowire="byName"/> 

2.DAO也只剩一句

  1. <bean id="customerDAO" class="org.springside.bookstore.dao.CustomerDao"/> 

3.Service類只剩下5行

  1. <bean id="customerManager" parent="baseTxService"> 

  2.        <property name="target"> 

  3.            <bean class="org.springside.bookstore.service.CustomerManager"/> 

  4.        </property> 

  5.    </bean> 

到此,關(guān)于“怎么簡(jiǎn)化Spring配置文件”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI