【Spring 註解】@Configuration和@Bean

一隻小小鳥發表於2018-08-08

@Configuration註解

在spring開發當中我們經常使用配置檔案的形式來例項化bean、注入bean等操作。例如在spring-bean.xml中配置:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <!--例項化一個Person物件-->
    <bean id="person" class="com.sff.app.bean.Person"/>
</beans>

那麼@Configuration註解就相當於我們的spring-bean.xml檔案,它可以這樣使用。

/**
 * 配置類等價於spring-bean.xml檔案
 */
@Configuration
public class AppConfig {
}

@Bean註解

它註解於方法之上,告訴方法讓其產生一個Bean物件,然後把這個Bean物件交給Spring管理。產生這個Bean物件的方法Spring只會呼叫一次,隨後Spring將會將這個Bean物件放在自己的IOC容器中。

/**
 * 配置類等價於spring-bean.xml檔案
 */
@Configuration
public class AppConfig {
    /*給容器中註冊一個bean,型別是方法返回值,id就是方法名稱*/
    @Bean
    public Person person() {
        return new Person("Kate", 12);
    }
}

相關文章