Spring(二) 常用註解

Spring常用註解:

      用於創建對象:他們的作用就是和在xml配置文件中編寫一個<bean>標籤實現功能是一樣的

      用於注入數據:他們作用和在xml中的<bean>標籤中寫一個properties標籤作用是一樣的

     用於改變作用範圍:他們的作用集合在bean標籤中使用scope屬性屬性實現功能是一樣的

     和生命週期相關:作用和在<bean>標籤中使用init-method和destory-method的作用是一樣的

 

1、用於創建對象的:

       @Component:作用:用於把當前類對象存入Spring中,會把註解標識的類創建成一個對象,存入Spring中,

                                 屬性:用於指定bean的id,當我們不寫時,他的默認值是當前類名,且首字母改小寫

       @Controller :一般用在表現層

      @Service:一般用在業務層

      @Repository:一般用在持久層

     以上註解地作用和@Component是一模一樣的,他們三個是Spring框架爲我們提供明確的三層使用註解,使我們的三層對象更加清晰。

 2、用於注入數據的:

      @Autowried:作用:按照類型注入,只要容器中有唯一一個bean對象類型和要注入的變量類型匹配,就可以注入成功用於改變作用範圍的,他們的作用就和在bean標籤中使用scop屬性實現的功能是一樣的,如果容器中沒有人任何bean類型和要注入的變量類型匹配,則報錯。如果IOC容器中有多個類型匹配時,首先按照類型圈定出匹配對象,然後會使用變量名稱,在圈定出的兩個裏面繼續查找,如果有一樣的,也可以注入成功。

                            出現位置:可以是成員變量上,也可以是方法上。

                             在使用註解注入時,set方法就不是必須的(SpringIOC容器是一個map結構)

           那麼就是兩個bean相同時,改id

       @Qualifier:作用:按照類中注入的基礎上再按照名稱注入,它在給類成員注入時不單獨使用,但是在給方法注入時可以

                           屬性:value,用於指定注入bean的id

       @Resource:作用:直接按照bean的id注入,它可以獨立使用

                             屬性:name,用於指定bean的Id

            以上三個註解都只能注入其他bean類型的數據,而基本類型和String類型無法使用上述註解實現。 另外,集合類型的注入只能通過XML實現。

         @Value :作用:用於注入基本類型和String類型的數據

                          屬性:Value,用於指定數據的值,它可以使用Spring中的SpEl(也就是spring的el表達式)

                           SpEl的寫法:${表達式}

 

    用於改變作用域範圍:

           Scope:用於指定bean作用範圍

                    屬性:

                             value:指定範圍的取值,常用取值,singleton,prototype

                              注:多例對象銷燬Spring是不負責的

   和生命週期相關:

             PreDestroy:作用,用於指定銷燬方法

            PostConstruct:作用,用於指定初始化方法

      

              

       

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