2017-03-08 84 views
1

有这样一个bean:指定默认@Bean不使用@Primary春季启动

@Bean 
TemplateEngine myTemplateEngine() {...} 

但春天的引导也已经定义了TemplateEngine一个bean:

组织/ springframework的的/ boot /自动配置/ thymeleaf/ThymeleafAutoConfiguration $ ThymeleafDefaultConfiguration.class

当我自动装配TemplateEngine我得到

“字段需要一个bean,但2被发现”

我想春天启动bean是默认的一个且仅当明确地指定使用我的豆腐,所以我不能使用@主要注释,因为我没有访问该bean定义。

另外,我想避免使用xml配置。

+0

你需要使用onconditional注释,以确保您的bean被采摘春天靴子默认失败 – rajadilipkolli

回答

2

尝试定义你的bean作为

@Bean 
@ConditionalOnMissingBean(TemplateEngine .class) 
TemplateEngine myTemplateEngine() {...}