7
votes

J'ai Javax.Inject dans mon pom.xml, le printemps utilisera-t-il automatiquement?

J'ai copié un pom.xml pendant que je passais un didacticiel de printemps mvc en ligne, et il avait: xxx

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?

J'ai également vu SLF4J en POM, sans configuration supplémentaire dans le code ou XML.

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?


2 commentaires

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) 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).


3 Réponses :


11
votes

La dépendance dans votre POM pour Javax.Inject xxx

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.

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? .

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.


0 commentaires

3
votes

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.

Vous pouvez soit utiliser l'injection d'injection ou de printemps (ou peut-être).


0 commentaires

1
votes

Comme @aravind a déclaré à Javax.Inject Dépendance n'a rien à voir avec le printemps. Et il est utilisé pour obtenir une annotation @Inject , il fait partie de la norme Java CDI, introduite dans Java EE 6 (JSR-299)

Spring utilisant @Inject avec leur propre @autowired Annotation.
@Autowired et @Inject , 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.

Comming à Façade de journalisation simple pour Java (SLF4J):

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.


0 commentaires