J'ai copié un pom.xml pendant que je passais un didacticiel de printemps mvc en ligne, et il avait: de ce que je comprends le printemps a sa propre injection de dépendance intégrée, Ceci remplace la valeur par défaut et utiliser javax.inject? p> J'ai également vu SLF4J en POM, sans configuration supplémentaire dans le code ou XML. P> Comment cela fonctionne-t-il sous les couvertures, le printemps Examine le dossier de Lib et si une libièce est révélée qui est annulée, elle le fait? P> P>
3 Réponses :
La dépendance dans votre POM pour Javax.Inject n'a rien à voir avec le printemps. Il apporte juste une dépendance javax.Inject dans le projet. Un pot avec le nom Javax.Inject-1. Jar . Ce pot est nécessaire si vous utilisez également l'annotation @Inject qui est également prise en charge par le ressort. P> Vous pouvez utiliser @ AutoWired / @ Resource / @ Injecter selon vos besoins. Voir ici pour leur différence et aussi une discussion à Quelle est la différence entre @Inject et @Autowired dans le cadre de printemps? Lequel utiliser sous quel état? . P> comme pour slf4j, il ne s'agit que d'une abstraction sur des cadres tels que Log4J permettant d'exécuter le temps d'exécution dans le cadre de la journalisation. Spring-Osgi, hibernate l'utilise tout en interne. C'est donc pourquoi vous trouvez la dépendance dans votre POM. J'espère que cela efface les choses. P> p>
injecter active JSR 330 Soutien au printemps. L'utilisation des annotations injectables rend l'application non liée au ressort - elle pourrait être commutée vers Java EE 6 ou Guice ou d'autres fournisseurs qui prennent en charge la spécification. p>
Vous pouvez soit utiliser l'injection d'injection ou de printemps (ou peut-être). P>
Comme @aravind a déclaré à Javax.Inject Dépendance n'a rien à voir avec le printemps. Et il est utilisé pour obtenir une annotation Comming à
Façade de journalisation simple pour Java (SLF4J): strong> La façade de journalisation simple pour Java ou (SLF4J) sert de simple
Façade ou abstraction pour divers cadres forestiers, par ex.
java.util.logging, log4j et logback, permettant à l'utilisateur final de brancher
le cadre de journalisation souhaité au moment du déploiement. P>
blockQuote> @Inject code>, il fait partie de la norme Java CDI, introduite dans Java EE 6 Code> (JSR-299)
Spring utilisant @Inject code> avec leur propre @autowired code> Annotation.
@Autowired code> et @Inject code>, deux annotations fonctionnent de la même manière que le printemps a décidé de prendre en charge certaines annotations JSR-299 en plus de leur propre. P>
P>
C'est juste une annotation, ce printemps peut reconnaître et profiter de, comme @postConstruct. Je ne sais pas quelle est votre question sur SLF4J, c'est une façade autour d'autres bibliothèques de journaux.
I
devinez (non sûr) code> javax.Inject et injection de dépendance à ressort sont deux choses différentes (de différents fournisseurs) exécutant la même action (injection de dépendance).