1. 程式人生 > 實用技巧 >Spring基礎,註解開發,JavaConfig實現配置(Spring4新特性)

Spring基礎,註解開發,JavaConfig實現配置(Spring4新特性)

一,註解開發

  前言:在Spring4之後,要使用註解開發,必須保證aop的包匯入,(這個包在spring-webmvc裡)

    使用註解需要匯入context約束,增加註解支援

  1,bean

  2,屬性如何注入

//等價於 <bean id="user" class="com.king.pojo.User"/>
@Component
public class User {
    //@Value("king")
    private String name;

    public String getName() {
        return name;
    }
    
    @Value(
"king") public void setName(String name) { this.name = name; } }

  3,衍生的註解

   @Component有幾個衍生註解,在Web開發中,會按照mvc三層架構分層

     dao【@Repository】

     service 【@Service】

     controller【Controller】

  功能都是一樣的,代表將某個類 註冊到Spring中,裝配Bean

  4,自動裝配 

    @Autowired:放在屬性上,自動裝配 預設通過型別,後名字

    如果Autowired不能唯一自動裝配屬性,則需同通過@Qualifier(value="xxx")
    @Nullable:放在屬性上,標記了這個註解,說明這個註解可以為null
    @Rescource:放在屬性上,自動裝配預設通過名字,後型別

  5,作用域

    @Scope(String name);

  6,小結

    xml與註解區別:

       xml,更加萬能,適用於任何場合!維護簡單方便

       註解,不是自己的類使用不了,維護相對複雜!

      最佳實踐:

        xml用來管理bean

        註解只負責完成屬性注入(xml註冊bean,註解注入屬性,目前企業開發常用)

    <!--指定要掃描的包,這個包下的註解就會生效-->
    <context:component-scan base-package="com.king"/>

    <
context:annotation-config/>

二,JavaConfig實現配置

  現在完全不需要使用Spring的XML配置了,全權交給Java來做!

  JavaConfig是Spring的一個子專案,在Spring4之後,它成為一個核心功能

  @Configuration,作用在類上,裡面也是被@Component封裝的,被Spring容器託管

           代表一個配置類,(相當於beans.xml)

  @Component,相當於bean

//定義當前類為配置類,相當於applicationContext.xml
@Configuration
//指定註解生效範圍
@ComponentScan("com.king.pojo")
//將其它配置類引入
@Import(KingConfig2.class)
public class KingConfig {

    //相當於bean標籤
    @Bean
    public User getUser(){
        return new User();
    }
}