溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring Boot如何配置導入

發(fā)布時間:2021-08-25 15:46:19 來源:億速云 閱讀:264 作者:小新 欄目:大數(shù)據(jù)

小編給大家分享一下Spring Boot如何配置導入,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

我們知道在 Spring Boot 中可以用一個 @Configuration 配置文件來配置所有 Bean 及其他配置,但其實沒必要這么做。

我們可以把相關的配置獨立出來,放到多個 @Configuration 中,如以下參考:

  • MainConfiguration:項目主要配置

  • DataSoureceConfiguration:數(shù)據(jù)源配置

  • RedisConfiguration:Redis配置

  • MongoDBConfiguration:MongoDB配置

這時候 @Import 注解就能派上用場了,來看下它的源碼:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Import {

	/**
	 * {@link Configuration}, {@link ImportSelector}, {@link ImportBeanDefinitionRegistrar}
	 * or regular component classes to import.
	 */
	Class<?>[] value();

}

可以導入這三類注冊文件:

  • Configuration

  • ImportSelector

  • ImportBeanDefinitionRegistrar

第一個已經講過了,其他兩個后面會講,關注Java技術棧微信公眾號,獲取第一時間推送。

先來看一個 @Import 示例,直接導入其他配置文件:

@Configuration
@Import({ RedisConfiguration.class })
public class MainConfiguration {
    // ...
}

當然,如果這些配置文件都在類掃描路徑下,不用 @Import 導入注解,直接用 @ComponentScan 也能搞定,這個默認的 @SpringBootApplication 注解就包含了,不需要再重復加。

再者,@Enable* 注解也能派上用場:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Import(RedisConfiguration.class)
public @interface EnableRedis {
}

具體可以參考這篇文章:Spring Enable*高級應用及原理,另外,關注Java技術棧微信公眾號,在后臺回復:spring,可以獲取更多 Spring 干貨。

那么問題來了,老項目想用 Spring Boot 框架,但還有大量的 XML 配置文件,很難遷移到 @Configuration 配置文件里面來,怎么處理?

棧長繼續(xù)給你支招!

答案就是:@ImportResource 注解,來看下它的源碼:

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Documented
public @interface ImportResource {

	@AliasFor("locations")
	String[] value() default {};

	@AliasFor("value")
	String[] locations() default {};

	Class<? extends BeanDefinitionReader> reader() default BeanDefinitionReader.class;

}

@ImportResource 可以指定要導入的 XML 配置文件的路徑,還能指定自定義的 BeanDefinitionReader

來一個示例,導入一個類路徑下的 XML 配置文件:

@Configuration
@ImportResource("classpath:config/spring-mvc.xml")
public class MainConfiguration {
    // ...
}

以上是“Spring Boot如何配置導入”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI