spring註解

屬性的注入:@Value註解
                    此種方式需要配合 Spring的組件標識註解使用:@Component       通過掃描的方式獲取值
        
自動注入
        傳統配置的自動載入:
            在bean節點中屬性 autowire="byName"
            在Beans 節點中的屬性default-autowire="byName"

        註解自動載入:

1、@Autowired——構造器, 普通字段(即使是非 public), 一切具有參數的方法都可以應用@Authwired 註解 ;

2、@Resource——默認是按照名稱來裝配注入的,只有當找不到與名稱匹配的bean纔會按照類型來裝配注入。

      @Resource註解是又J2EE提供,而@Autowired是由Spring提供,故減少系統對spring的依賴建議使用 @Resource的方式;
3、@Inject——Inject 和 @Autowired 註解一樣也是按類型匹配注入的 Bean, 但沒有 reqired 屬性(此方法極少使用)

自動注入:1、byType —— 根據接口/類的實現或子類匹配  、需要注意的是:當spring容器中不存在或者存在一個以上的子類時 該機制失效。2、byName—— 根據類中屬性/跟spring 容器中的組件標識名(id)

這種機制可以通過兩種方式得到,分別是:在xml中配置,也可以通過註解;下面操作介紹:

                   1:  xml形式
                           autowire <bean>
                           default-autowire <beans>
                        
                   2:  註解形式
                            @Component 基本註解
                                相當於 你在配置中添加了<bean class="xxx.xxx"></bean>
                           
                            @Autowired spring提供的,默認按類型匹配,也可以指定名稱
                                       但是要配合另外一個註解使用@Qualifier("userService")
                            
                            @Resource JavaEE提供
                                        默認按名稱匹配,沒有的時候按類型匹配
                                        注意這裏的名稱指的是 屬性的名字與註解表示的名字是否匹配
                                        也可以直接使用參數標識使用哪一個如@Resource(name="userService2")

                      

                                   

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章