Spring框架(二)

基於註解配置Spring入門編程

爲何要使用註解配置代替XML配置文件呢?框架

答:由於XML配置文件,非編程語言語法,因此沒法調試。而使用註解配置的代碼,更加容易定位編程語言

  問題ui

 

註解配置步驟:spa

1.導入包(注意:基於註解的配置中,咱們要多拷貝一個aop的jar包)調試

2.在類的根路徑建立一個XML配置文件,寫一個組件解釋器component

<context:component-scan base-package=""></context:commponnent-scan>對象

3.建立一個自定義類加上@Controller生命週期

 

Spring經常使用註解說明原型

1.用於對象的註解,咱們將用於被掃描建立對象的註解,統稱爲組件註解(聲明在類上)

組件註解包括:

@Component  用於聲明三層之外的組件註解

@Controler  用於聲明表示層的組件註解

@Service   用於聲明服務層的組件註解

@Repository  用於聲明持久層的組件註解

注:這四個組件註解功能上沒有任何區別,只是概念上不同

組件註解有什麼功能呢?

用來表示類爲註解的組件類,啓動Spring框架的程序時,聲明將這些組件類的對象注入到Spring容器裏面。

 

2.用於依賴注入的註解

  @Autowired

  做用:用於給引入注入容器的對象

  屬性:required:指定注入的對象是否容許爲空,若是required=true。表示不能夠爲空

  使用@Autowired的三種狀況

    a.在屬性上面注入

    b.在方法上注入

    c.在構造方法上注入,注:若是構造方法加入@Autowired,Spring框架會自動匹配容器中是否有對應參數類

      的對象,將對象賦予構造方法的參數。若是要使用@Autowired給構造方法注入對象,該構造方法必需要

      有參數

  @Qualifier

    做用:用於指定注入的對象使用@Autowired注入對象時,由於@Autowired沒有指定對象名的參數,只能通

    過@Qualifier字段容器中對象名

    屬性:

    value:指定注入Spring容器中對應對象名的對象給引用

  @Resource註解功能等同於@Autowired+@Qualifier

    注:@Resource只能注入方法和屬性,不能注入構造方法

 

  @Value註解

    做用:只能設置標量類型(基礎數據類型+包裝類+String)

3.聲明週期

  @Scope:用於指定建立的對象的生命週期,是單例、原型

    注:若是Scope若是放在方法上,必需要和@Bean註解結合使用

  @PostConstruct:指定初始化方法

  @PreDestory:用於指定容器銷燬以前執行的方法

純註解的支持(替換配置文件)

  @Configuration:聲明該類是一個配置類

  @ComponentScan:掃描組件類建立對象到容器中

  @PropertyScource:對Properties文件的支持!!!

  @Bean:做用就是將非組件類的對象加入到Spring容器

相關文章
相關標籤/搜索