西沙璞玉
          愛不容易
          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 @趙 閱讀(146) 評論(0)  編輯  收藏

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


          網站導航:
           
          哥哥最近不是很忙
          主站蜘蛛池模板: 依兰县| 伊春市| 楚雄市| 鄂托克旗| 泰和县| 临城县| 云梦县| 静海县| 石首市| 武功县| 抚宁县| 台安县| 射阳县| 夏津县| 庆云县| 彭州市| 稻城县| 赤壁市| 新余市| 怀柔区| 阳原县| 延安市| 庄浪县| 扶沟县| 汽车| 黄平县| 平原县| 屏东县| 临桂县| 锡林浩特市| 四子王旗| 揭西县| 乌拉特前旗| 景东| 霍邱县| 西峡县| 贵港市| 延川县| 河北区| 扎赉特旗| 长泰县|