SpringBoot排除依賴

需求:因爲咱們的項目是父子結構的Maven項目,可能咱們在parent項目中依賴了不少基礎包(可能包含有redis,數據庫的相關包),那咱們的子項目所有依賴parent,可是可能咱們的服務是消息隊列(不須要Redis/數據庫),定時任務服務(不須要Redis)等等,因此咱們須要排序不須要的組件redis

 

異常:spring

因爲只要項目中有對應的依賴jar,那麼就啓動的時候就會去加載對應的組件,也會去掃描配置文件,找不到就會報錯。數據庫

 

方案:排序

1.在pom文件中利用exclusions排除不須要的隊列

  1.  <dependency>  
  2.     <groupId>com.nk</groupId>  
  3.     <artifactId>system</artifactId>  
  4.     <version>0.0.1</version>  
  5.     <exclusions>  
  6.         <exclusion>  
  7.             <groupId>org.slf4j</groupId>  
  8.             <artifactId>slf4j-log4j12</artifactId>  
  9.         </exclusion>  
  10.     </exclusions>  
  11. </dependency> 

 

2.在註解裏面利用exclude排除不須要的消息隊列

經過禁用指定的自動化配置來避免加載沒必要要的自動化配置,下面列舉了禁用的方法:自動化

註解方式:io

@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})class

當使用@SpringBootApplication時,也能夠使用它的exclude屬性來指定基礎

當使用@SpringCloudApplication時,因爲它沒有exclude屬性,因此須要@EnableAutoConfiguration註解配合使用

配置文件:spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration

相關文章
相關標籤/搜索