【问题标题】:Spring boot Auto Configuration trying to load beans from dependent projectSpring boot Auto Configuration尝试从依赖项目加载bean
【发布时间】:2017-09-11 09:27:26
【问题描述】:

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

我们如何停止从依赖 jar 加载 Bean 的自动配置。 下面是使用的注解。

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

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

但是以 com.test.myhazelcast.* 包中存在的 bean 为例。

【问题讨论】:

  • com.test.myhazelcast 中还有其他@Configuration 类吗?

标签: spring spring-boot


【解决方案1】:

SpringBootApplicationexcludeName 属性用于通过名称排除自动配置类,而不是从组件扫描中排除包。

因为你 SpringBootApplication 使用默认的组件扫描包,它将从 BelHazelcastApplication 所在的任何包中进行组件扫描。

如果这个包是“com.test”,那么它将包含“com.test.core”中的组件。

我会删除这一行:

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

并改变这个:

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

成为:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-11
    • 2020-10-02
    • 2017-06-18
    • 2018-01-29
    • 2019-03-14
    • 1970-01-01
    • 2020-07-19
    相关资源
    最近更新 更多