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

相关文章
相关标签/搜索