2010-06-14 4 views
3

J'ai une classe de test qui a une annotation @Resource pour un setter et je dois la rendre compatible avec Java 1.4, donc évidemment l'annotation doit disparaître. J'utilise le printemps. Alors, comment remplacer quelque chose comme @Resource ("my.resource") pour que le setter reçoive la bonne injection de dépendance? Aurais-je besoin de faire un bean dans un fichier xml? Je suis assez nouveau à ce sujet, donc si je ne fournis pas assez d'informations, faites le moi savoir.Comment remplacer l'annotation @Resource avec Java 1.4 Version

Répondre

4

Si vous êtes dans un environnement Java 1.4, vous ne pouvez pas compter sur les annotations que vous avez déjà mentionné correctement. Vous devez donc déclarer les dépendances et les définitions de beans dans votre document XML qui configure votre Spring ApplicationContext.

<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" /> 
+0

Cela a dissipé ma confusion. Je vous remercie. – AHungerArtist

1

À considérer xdoclet? XDoclet était vraiment le prédécesseur de ce qui est devenu des annotations dans Java 5. C'est une bibliothèque de génération de code open-source qui permet la programmation orientée attribut pour Java via l'insertion de balises Javadoc spéciales. Il est livré avec une bibliothèque d'étiquettes prédéfinies, ce qui simplifie le codage pour diverses technologies: Java EE, services Web, portlet, etc.

+0

Eh bien, j'ai répondu à cela il y a plus de 2 ans. Le lien est toujours bon. De plus, la réponse deviendra probablement non pertinente lorsque le projet xdoclet disparaîtra (et le lien sera mauvais). –

+0

@paradigmatic - mis à jour. –