我有一个测试类,它有一个针对setter的@Resource注释,我需要使它符合Java 1.4,所以很明显注释必须要去。我正在使用Spring。
那么,我如何替换像@Resource(“my.resource”)这样的东西,以便setter获得正确的依赖注入?我需要在xml文件中创建一个bean吗?
我对此很新,所以如果我没有提供足够的信息,请告诉我。
答案 0 :(得分:4)
如果您在Java 1.4环境中,则不能像正确提到的那样依赖Annotations。因此,您必须在配置Spring ApplicationContext的XML文档中声明依赖项和bean定义。
<bean id="myBeanName" class="my.package.MyClass">
<!-- injects otherBean into propertyName -->
<property name="propertyName" ref="otherBean" />
<!-- injects propertyValue into otherProperty -->
<property name="otherProperty" value="propertyValue" />
<!-- injects an instance of an anonymous bean into innerBean -->
<property name="innerBean">
<bean class="my.package.InnerBean" />
</property>
</bean>
<bean id="otherBean" class="my.package.OtherBean" />
答案 1 :(得分:1)
考虑xdoclet?
XDoclet实际上是Java 5中注释的前身。它是一个开源代码生成库,通过插入特殊的Javadoc标记为Java启用面向属性的编程。它带有一个预定义标签库,可简化各种技术的编码:Java EE,Web服务,Portlet等。
答案 2 :(得分:0)
一种hacky方法,就是实现ApplicationContextAware接口,然后在你的类中使用setApplicationContext中的ApplicationContext.getBean来获取bean。