1

我将spring配置为使用自动检测一些DAOS

<context:component-scan base-package="com.mycomp.app" />
<tx:annotation-driven />.

@Repository("transactionDao")
public class TransactionDao {
...
}

现在我在上下文中手动配置另一个引用这个的bean。

<property name="schedulerContextAsMap">
    <map>
       <entry key="transactionDao" value-ref="transactionDao" />
    </map>
</property>

现在春天的抱怨:

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'transactionDao' is defined

是否可以在上下文中引用自动检测到的 bean?

4

1 回答 1

0
Is it possible to reference auto detected bean inside context?

是的,很有可能。

为了查看为什么没有找到 transactionDao bean,您可以验证以下内容:

  1. TransactionDao 应该在类路径中并且位于 com.mycomp.app 的某个子包中

  2. 如果 Step-1 已经存在,则运行应用程序,并将org.springframework的 Logger 级别设置为 DEBUG,您可以在 spring 的启动日志中看到所有 bean 都已初始化。

于 2013-05-14T15:11:50.887 回答