Spring Bean未创建

时间:2018-03-28 21:31:51

标签: java spring spring-boot

我构建了一个Spring-Boot-Application,它使用ComponentScan来识别Spring bean。在应用程序启动时,我收到消息

Parameter <X> of constructor in <BEANUSER> required a bean of type '<BEAN>' that could not be found.

在我定义<BEAN>的同一个包中,还有其他几个可以找到并注入的Spring bean。但是,BEAN的构造函数从未被调用。 BEAN的简单名称为TransactionManager

我检查了所有注释,它们与工作的bean类似。

有什么问题?

1 个答案:

答案 0 :(得分:0)

Spring boot将 - 默认情况下 - 生成一堆所谓的calles隐式spring-beans。创建的bean取决于类路径中找到的库。如果类路径包含spring-boot-starter-jdbc,则会导致创建Spring-Transactionmanager(作为隐式bean)。

虽然这个类很可能是一个不同的包名,并且不能替代注入,但是bean的名称存在冲突(默认情况下只包含bean类的简单名称)。这导致Spring完全忽略了用户定义的类。

将您的TransactionManager重命名为其他内容,一切都应该没问题。