Spring启动自动配置尝试从依赖项目加载bean

时间:2017-09-11 09:27:27

标签: spring spring-boot

Spring Boot正在从外部依赖jar中加载Beans。

我们如何停止从依赖jar加载Bean的Autoconfigration。 以下是使用的注释。

@Configuration
@SpringBootApplication(excludeName = {"com.test.core"})
@ComponentScan(basePackages = {"com.test.myhazelcast"})
@EnableJpaRepositories
public class BelHazelcastApplication { ...

我希望Spring启动不要配置任何bean com.test.core。*这是一个依赖模块。

但是在com.test.myhazelcast。* package中使用最好的bean。

1 个答案:

答案 0 :(得分:3)

excludeName的{​​{1}}属性用于按名称排除自动配置类,而不是从组件扫描中排除包。

因为SpringBootApplication具有包到组件扫描的默认值,所以它将从BelHazelcastApplication所在的任何包中进行组件扫描。

如果此套餐是" com.test"那将包括" com.test.core"。

中的组件

我删除了这一行:

SpringBootApplication

并改变这一点:

@ComponentScan(basePackages = {"com.test.myhazelcast"})

是:

@SpringBootApplication(excludeName = {"com.test.core"})