西沙璞玉
          愛(ài)不容易
          posts - 0,comments - 4,trackbacks - 0

          @Resource 的作用相當(dāng)于 @Autowired,只不過(guò) @Autowired 按 byType 自動(dòng)注入,面 @Resource 默認(rèn)按 byName 自動(dòng)注入罷了。@Resource 有兩個(gè)屬性是比較重要的,分別是 name 和 type,Spring 將
          @Resource 注釋的 name 屬性解析為 Bean 的名字,而 type
          屬性則解析為 Bean 的類(lèi)型。所以如果使用 name 屬性,則使用 byName 的自動(dòng)注入策略,而使用 type 屬性時(shí)則使用 byType
          自動(dòng)注入策略。如果既不指定 name 也不指定 type 屬性,這時(shí)將通過(guò)反射機(jī)制使用 byName 自動(dòng)注入策略。


          Resource 注釋類(lèi)位于 Spring 發(fā)布包的 lib/j2ee/common-annotations.jar
          類(lèi)包中,因此在使用之前必須將其加入到項(xiàng)目的類(lèi)庫(kù)中。來(lái)看一個(gè)使用 @Resource
          的例子:


          清單 16. 使用 @Resource 注釋的
          Boss.java





          package com.baobaotao;
          
          import javax.annotation.Resource;
          
          public class Boss {
              // 自動(dòng)注入類(lèi)型為 Car 的 Bean
              @Resource
              private Car car;
          
              // 自動(dòng)注入 bean 名稱(chēng)為 office 的 Bean
              @Resource(name = "office")
              private Office office;
          }


          一般情況下,我們無(wú)需使用類(lèi)似于 @Resource(type=Car.class) 的注釋方式,因?yàn)?Bean 的類(lèi)型信息可以通過(guò)
          Java 反射從代碼中獲取。


          要讓 JSR-250 的注釋生效,除了在 Bean 類(lèi)中標(biāo)注這些注釋外,還需要在 Spring 容器中注冊(cè)一個(gè)負(fù)責(zé)處理這些注釋的 BeanPostProcessor





          <bean 
            class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor"/>


          CommonAnnotationBeanPostProcessor 實(shí)現(xiàn)了
          BeanPostProcessor 接口,它負(fù)責(zé)掃描使用了 JSR-250 注釋的
          Bean,并對(duì)它們進(jìn)行相應(yīng)的操作。

          posted on 2012-04-06 11:36 @趙 閱讀(146) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          哥哥最近不是很忙
          主站蜘蛛池模板: 游戏| 芦溪县| 卢湾区| 巴塘县| 白银市| 师宗县| 廉江市| 靖边县| 敖汉旗| 遂川县| 龙州县| 布拖县| 榕江县| 漾濞| 富锦市| 嘉定区| 朝阳市| 正蓝旗| 城步| 白玉县| 兴仁县| 汝州市| 调兵山市| 平定县| 大竹县| 莱阳市| 普洱| 安化县| 正镶白旗| 湄潭县| 古交市| 莫力| 安陆市| 弥渡县| 大同县| 彰武县| 吴川市| 团风县| 揭西县| 阿坝县| 合江县|