Spring Boot:仅在存在依赖关系时创建bean

时间:2017-04-05 20:55:36

标签: spring spring-boot dependencies

我在Spring Boot 1.5.2中有一个项目。我有一个bean,我想创建它只有创建所有依赖项。我测试了Spring自动配置没有成功,BeanFactoryPostProcessor。最后的解决方案有效。我想知道什么是更好的方法。感谢。

修改

我使用以下类测试了Spring自动配置但没有成功。我的bean没有被创建:

@Configuration
@ConditionalOnBean(value = JavaMailSender.class)
@AutoConfigureAfter(MailSenderAutoConfiguration.class)
public class MailAutoConfiguration {
@Bean
    public MyMailSender createMyMailSender() {
    return new MyMailSender();
    }
}

MailAutoConfiguration和MyMailSender在同一个包中

修改

我发现了我的问题。我没有看到这个约束:

Auto-configurations have to be loaded that way only. Make sure that they
are defined in a specific package space and that they are never the target of
component scan in particular.

我现在可以使用@ConditionalOnBean

0 个答案:

没有答案