西沙璞玉
          愛不容易
          posts - 0,comments - 4,trackbacks - 0

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


          Resource 注釋類位于 Spring 發布包的 lib/j2ee/common-annotations.jar
          類包中,因此在使用之前必須將其加入到項目的類庫中。來看一個使用 @Resource
          的例子:


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





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


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


          要讓 JSR-250 的注釋生效,除了在 Bean 類中標注這些注釋外,還需要在 Spring 容器中注冊一個負責處理這些注釋的 BeanPostProcessor





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


          CommonAnnotationBeanPostProcessor 實現了
          BeanPostProcessor 接口,它負責掃描使用了 JSR-250 注釋的
          Bean,并對它們進行相應的操作。

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

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          哥哥最近不是很忙
          主站蜘蛛池模板: 邳州市| 开封市| 永新县| 尚志市| 张家川| 鹤岗市| 达孜县| 临武县| 道真| 道孚县| 襄汾县| 阜南县| 太仆寺旗| 湘潭市| 万州区| 子洲县| 垫江县| 南充市| 五华县| 乾安县| 汝城县| 嘉兴市| 乌拉特中旗| 沙洋县| 巴彦县| 尼玛县| 罗平县| 吉安市| 镇巴县| 繁昌县| 丹棱县| 介休市| 马龙县| 涿州市| 洛阳市| 防城港市| 阿拉尔市| 缙云县| 石狮市| 新密市| 汉川市|