spring相關—IOC容器—使用注解配置bean


①聲明bean的注解
        @Component   將當前類聲明為IOC容器中的一個普通的組件(除了下面三種外的組件)
        @Controller   將當前類聲明為IOC容器中的一個控制器組件
        @Service    將當前類聲明為IOC容器中的業務邏輯層組件
        @Repository    將當前類聲明為IOC容器中的一個持久化層組件
    
    Spring根據上述注解其實並不能分辨當前類是否真的是一個控制器或Dao,即使標記的類和注解不對應也沒有語法錯誤。
    但在實際工作中,肯定要將專門的注解標記在對應的類上面。   

②使用基於注解的bean的配置,需要額外導入一個jar包:spring-aop-4.0.0.RELEASE.jar   (spring中所有注解都是基於aop的,使用時要導入spring-aop-4.0.0.RELEASE.jar包)

 

③需要設置自動掃描的包
        < context:component-scan base-package ="com.neuedu.ioc.bean"/>


④使用注解后,默認按照類名首字母小寫作為id的值,也可以使用value屬性指定id,value屬性名也可以省略注解        
        注解                                                      id值   
   @Component                                           commonComponent
   public class CommonComponent {
   }
   
   @Controller(value="neueduBookAction" )            neueduBookAction
   public class BookAction {
   }
        
   @Service("happyService" )                            happyService
   public class BookService {
   }

⑤使用注解進行自動裝配:@Autowired注解[好處就是:連get、set方法都不用寫!]

    @Autowired
    private UserDao dao;    
//@Autowired直接將IOC容器中的UserDao對象注入

    [1]首先檢測標記了@Autowired注解的屬性的類型(開始根據類型注入,能確定唯一bean對象,則注入)
    [2]根據類型進行裝配
    [3]如果指定類型的bean不止一個,那么根據需要被裝配的屬性的屬性名做id的值,查找bean

  (此時根據屬性名注入,看是否有匹配id)
    [4]如果根據id值還是沒有找到bean,可以使用@Qualifier注解手動指定要裝配的bean的id.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM