1. 程式人生 > >[SpringBoot] 通過spring.factory檔案來載入第三方的bean

[SpringBoot] 通過spring.factory檔案來載入第三方的bean

    1.在springboot的開發過程中,我們經常需要載入一些bean,如果bean使我們自己寫的類,那很好辦,加個@Component註解就搞定了,然後過程啟動會掃描啟動類所在的包及其子包,如果我們需要的bean不在自己的包裡面,在第三方包怎麼辦?通過註解可以import進來,這個當然可以,這裡介紹一個使用spring.factories檔案的方法
    2.加入我們只做了一個包,裡面有一個bean,我們期望工程啟動的時候就載入這個bean到容器,我們的包是提供給其他人使用的,其他工程的啟動了類所在的路徑不能覆蓋這個bean所在的包路徑,通過ComponouneScan掃描太麻煩了,而且需求是工程啟動後就載入bean,我們可以這樣做:

在包下面的resources下面新建檔案/META-INF/spring.factories檔案,裡面寫上下面的內容:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.xxx.xxx.TraceListenerAutoConfig 

右邊是你的一個類,然後在這個類裡面寫入:

@Configuration
@EnableConfigurationProperties
public class TraceListenerAutoConfig {

    @Bean
    MyTraceListener myTraceListener() {
        return new MyTraceListener();
    }

}
    3.到此大功告成,工程啟動,MyTraceListener就作為一個bean載入到容器了,注意這裡不要使用@Autowire的形式,那樣可能會報bean找不到的錯誤;