新聞中心
關(guān)于JavaEE 6的依賴注入一直是各廠商和社區(qū)中的熱議話題,近日,JSR宣布JSR-299采用了JSR-330的注解,兩者都將成為Java EE 6的一部分。今年初,Google Guice和剛剛被VMware收購的SpringSource宣布將合作提出一套標(biāo)準(zhǔn)的用于依賴注入的注解,即JSR-330。但這些注解與JSR-299卻并不一致,隨后引發(fā)了眾多的爭論,不過現(xiàn)在一切都已經(jīng)塵埃落定。

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供松原網(wǎng)站建設(shè)、松原做網(wǎng)站、松原網(wǎng)站設(shè)計(jì)、松原網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、松原企業(yè)網(wǎng)站模板建站服務(wù),十余年松原做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
有不少人針對JSR-299與JSR-330的沖突談到了自己的一些看法,列舉如下:
◆Gavin King:我認(rèn)為引入另一套語義上與299相同的注解完全是個(gè)錯(cuò)誤,而且其嘗試解決的問題也與299大同小異。
Bob Lee:雖然299對于那些小型的Java EE應(yīng)用來說很適合,但其全局配置以及不直接的天性使之很難適應(yīng)于數(shù)百萬代碼行的應(yīng)用,就像Google所開發(fā)的。我們能夠在Guice上輕松支持299風(fēng)格的注解,但卻無法通過299實(shí)現(xiàn)Guice的全部功能,因此沒有理由放棄Guice而轉(zhuǎn)向299。就我個(gè)人來說,我認(rèn)為你們在299上已經(jīng)進(jìn)行了不少的創(chuàng)新,但卻沒有完全理解用戶代碼是需要維護(hù)的這個(gè)事實(shí)。
◆Alex Miller:向JSR 299領(lǐng)域進(jìn)軍是個(gè)危險(xiǎn)的信號。
◆Antonio Goncalves:我希望我們不要打響一個(gè)新的戰(zhàn)役,就像Java Module(JSR 277)和Modularity Support(JSR 294)之間那樣。
◆Rickard ?berg說出了反對意見:相對于泛泛的使用@Inject這樣的注解,我們選擇使用能代表目標(biāo)對象范圍的注解,因?yàn)槭裁炊际且惨馕吨裁炊疾皇恰?br />
JSR-330已經(jīng)通過了JSR評審的投票,但眾多投票者都強(qiáng)調(diào)了兩個(gè)規(guī)范的和諧相處:
◆Sun:我們希望該JSR能與JSR-299共同努力以便為SE和EE平臺(tái)達(dá)成一個(gè)一致、全面的依賴注入標(biāo)準(zhǔn)。這個(gè)標(biāo)準(zhǔn)務(wù)必先于該JSR的公共預(yù)覽版發(fā)布前形成。
◆Red Hat:我們認(rèn)識到該草案是有社區(qū)支持的,因此打算在專家組發(fā)布公共草案時(shí)再發(fā)表最終意見。如果該JSR與JSR-299之間能達(dá)成某種一致(這種一致性會(huì)為依賴注入定義一種輕量級的模型),那我們會(huì)毫不猶豫地投出贊成票。Red Hat承諾會(huì)為這種一致性貢獻(xiàn)自己的一份綿薄之力。
◆Ericsson:我們支持為標(biāo)準(zhǔn)化Java SE的依賴注入所付出的努力,但更想強(qiáng)調(diào)的是保持與JSR 299的一致性對于Java SE和EE都是非常重要的。
◆IBM:我們也認(rèn)為這樣一份描述SE應(yīng)用的依賴注入規(guī)范是很有必要的,然而所提出的注入模式卻與EE平臺(tái)中的定義有出入。SE/EE的注入模型必須要形成一個(gè)單獨(dú)可擴(kuò)展的編程模型:為SE定義一套核心功能并通過EE的功能對其進(jìn)行擴(kuò)展。因此,要是不統(tǒng)一的話,IBM是不會(huì)支持JSR 299或是330的。
◆Oracle:雖然支持該JSR,但Oracle嚴(yán)重關(guān)注該草案的完整性及其與JSR 299的分歧,因?yàn)檫@可能會(huì)導(dǎo)致平臺(tái)的分裂。因此,我們期望在該JSR的公共預(yù)覽版發(fā)布前能與JSR 299達(dá)成一致。我們相信JSR 250的一個(gè)修訂或是維護(hù)版會(huì)比較適合發(fā)布依賴注入相關(guān)的注解。最終我們希望這種一致性的努力會(huì)讓SE和EE平臺(tái)的依賴注入保持一致,形成一個(gè)標(biāo)準(zhǔn)化的機(jī)制以滿足各種需求。
目前這些規(guī)范之間的沖突已經(jīng)得到解決。JSR-330(面向Java的依賴注入)以及JSR-299(面向Java EE平臺(tái)的上下文與依賴注入)已經(jīng)達(dá)成一致了,后者將采取前者的注解,兩者都將成為Java EE6的一部分。
什么是依賴注入
依賴注入就是使類型之間的依賴關(guān)系可配置,也就是在運(yùn)行時(shí)通過配置文件等手段確定類型之間的依賴關(guān)系。而沒有使用依賴注入的時(shí)候類型之間的關(guān)系是硬編碼在程序中的。
文章標(biāo)題:JSR通過JavaEE6依賴注入標(biāo)準(zhǔn)各方觀點(diǎn)不一
本文地址:http://www.dlmjj.cn/article/ccsecpe.html


咨詢
建站咨詢
