如何用Java 1.4兼容版本替换@Resource注释

时间:2010-06-14 15:25:39

标签: java spring annotations resources java1.4

我有一个测试类,它有一个针对setter的@Resource注释,我需要使它符合Java 1.4,所以很明显注释必须要去。我正在使用Spring。

那么,我如何替换像@Resource(“my.resource”)这样的东西,以便setter获得正确的依赖注入?我需要在xml文件中创建一个bean吗?

我对此很新,所以如果我没有提供足够的信息,请告诉我。

3 个答案:

答案 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。

http://static.springsource.org/spring/docs/2.0.x/api/org/springframework/context/ApplicationContextAware.html