【发布时间】:2012-07-17 17:51:14
【问题描述】:
我有一个扩展 HibernateDaoSupport 的 spring bean。我希望这个 bean 注入到我的控制器中,但我不希望它实现任何接口。我只想从我的代码的其余部分引用具体类(也许不使用 AopProxy?)有没有人有办法做到这一点?
<bean id="mySampleService" class="com.sample.MySampleService">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
@Autowired
private MySampleService mySampleService;
... getters and setters ....
我知道使用界面是个好主意,这就是 IoC 的重点,但请不要建议我使用界面。
【问题讨论】:
-
目前是什么迫使您使用界面?
-
好点 axtavt(和 Adam)——它给出了 java.lang.ClassNotFoundException: MySampleService,但该类绝对存在。当我从我的项目中删除相应的“MySampleInterface”时,它才开始提供......
-
您的 MySampleService 是否实现了任何其他接口 - 任何标记接口等?另外,您在 MySampleService 上有没有像
@Transactional这样的注解? -
是的 MySampleService 在类级别有 @Transactional(readOnly = false),并且只实现了它的超类 (HibernateDaoSupport) 实现的东西......谢谢!
-
这个错误也在跟踪中 - org.springframework.beans.factory.NoSuchBeanDefinitionException: 没有为依赖找到类型为 [com.sample.MySampleService] 的匹配 bean: 预计至少有 1 个符合条件的 bean此依赖项的自动装配候选者。依赖注解:{@org.springframework.beans.factory.annotation.Autowired(required=true)}
标签: java spring ioc-container