2009-09-23 5 views
2

Je réalise une injection d'objet en utilisant AOP. Il existe une classe qui commence par samllcase (testClass) dans laquelle l'objet n'est pas injecté.L'injection d'objet basée sur AOP échoue pour le nom de classe commençant par minuscule

J'ai converti le nom de fichier (classe héritée) afin qu'il commence par majuscules (TestClass) et mis à jour les références dans AOP.xml et spring-beans.xml contenant les définitions de bean et il a commencé à fonctionner comme prévu.

Ma question est la suivante: existe-t-il une spécification à Spring/AOP pour que les noms de classes commencent par majuscules? Tout lien de référence sera apprécié.

Ou Ai-je raté quelque chose?

+1

Je serais surpris si c'était le cas. Pouvez-vous reproduire ce comportement en utilisant un cas de test autonome? – skaffman

+0

Quelle version de Spring? –

+0

J'utilise Spring 2.5.6. – Nrj

Répondre

0

C'est long, mais utilisez-vous des annotations? Lorsque vous utilisez des annotations (par exemple, @Component), l'ID de bean du bean créé à partir de l'annotation est le nom de la classe avec une première lettre minuscule. Peut-être que ce qui se passe est que le traitement AOP fait un inverse de cela pour passer de l'identifiant du bean au nom de la classe, donc avec une première lettre minuscule de la classe, cet inverse ne fonctionnera pas.

+0

J'utilise l'annotation @Configurable sur la classe contenant l'objet injecté. – Nrj

Questions connexes