我有一个延伸的Spring bean HibernateDaoSupport
。 我想这个bean注入到我的控制器,但我不希望它实现任何接口。 我只是想从我的代码的其余部分中参考具体类(不使用AopProxy吧?)有没有人有这样的一种方式?
<bean id="mySampleService" class="com.sample.MySampleService">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
@Autowired
private MySampleService mySampleService;
... getters and setters ....
我知道这是要使用的接口一个不错的主意,这就是国际奥委会的整点,但请不要建议我使用的接口。
如果到(在你的情况下,由事务代理)被代理类实现任何接口( InitializingBean
通过实施HibernateDaoSupport
你的情况),Spring缺省使用基于JDK动态代理代理策略。
因此,它创建了一个类型的代理InitializingBean
,即,显然,不能注入类型的字段MySampleService
。
如果你不想使用的界面,你可以重写通过声明使用事务方面的战略<tx:annotation-driven>
与proxy-target-class = "true"
。
也可以看看:
检查以下内容。 确保您有CGLIB的类路径中。
http://static.springsource.org/spring/docs/3.0.0.M3/spring-framework-reference/html/ch08s06.html
你可以写的一切,包括在XML如豆类,那么你就需要编写接口映射控制器。 否则,使用注解,你需要建立以代理他们的接口。