L'intégration de Jersey 2 et le Printemps avec Java en Fonction de la Configuration
Je suis à l'aide de Jersey 2.10 et jersey-spring3 de Printemps et 4.
Je veux réaliser DI(essentiellement des services) en jersey de ressources ainsi que dans d'autres lieux et souhaitez créer des Beans Spring via Java Configuration.
Actuellement,je ne suis pas en mesure de trouver toute façon pour ce faire.
Une idée de comment faire cela?
mon web.xml on dirait que cette
<web-app>
<display-name>Restful Web Application</display-name>
<servlet>
<servlet-name>jersey-serlvet</servlet-name>
<servlet-class>
org.glassfish.jersey.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>
jersey.config.server.provider.packages
</param-name>
<param-value>com.xyz</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/application-context.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet-mapping>
<servlet-name>jersey-serlvet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
Et si le descripteur de déploiement, ce que vous avez essayé jusqu'à présent pour obtenir des haricots géré par un conteneur? Tous les efforts?
Je sais que annotationconfigapplicationcontext est utilisé pour charger @Configurable classe pour créer/gérer des haricots.mais vous ne savez pas comment réaliser cela à l'aide de Jersey.
Je sais que annotationconfigapplicationcontext est utilisé pour charger @Configurable classe pour créer/gérer des haricots.mais vous ne savez pas comment réaliser cela à l'aide de Jersey.
OriginalL'auteur beinghuman | 2014-09-06
Vous devez vous connecter pour publier un commentaire.
web-app:
JavaBased Configuration:
et de contrôleur simple:
pour les essais de:
localhost:8080/[Nom]/helloController/bonjour
retenir à propos de l'exclusion de l'ancien Ressort de dépendances, vous pourriez avoir des conflits si vous ne le faites pas. Vous pouvez le faire comme sur l'exemple ci-dessous, ou par le biais de DependencyManagement.
Fonctionne comme un charme. Je vous remercie.
Autant que je sache, le
@Component
annotation n'est nécessaire que si vous avez besoin de Printemps fonctionnalité qui nécessite l'utilisation de proxy, comme@Transactional
.quel type de projet avons-nous à créer dans le but d'utiliser jersey et le printemps? J'ai essayé de créer un projet web dynamique et je n'ai pas tout pom.xml fichier. dans ce fichier, nous devons ajouter les mentionnés ci-dessus les dépendances et les exclusions?
Dans Eclipse, j'ai utiliser le plugin: 'M2E - Intégration de Maven pour Eclipse'. Ensuite, vous pouvez faire un clic droit sur votre projet -> Configuration> Convertir en projet Maven. Ensuite, vous verrez pom.xml fichier.
OriginalL'auteur Marek Raszewski
Ancienne:
Puisque vous avez déjà initialisé le
ContextLoaderListener
une simple astuce consiste à utiliser laWebApplicationContext
pour récupérer vos haricots à n'importe quel point d'application:Maillot De Soutien:
Ou vous pouvez utiliser l'annotation basée sur la découverte, depuis Jersey a déjà le soutien de Printemps DI. Vous devez inscrire vos haricots en vertu de votre application principal point d'entrée. Ce point d'entrée, dans l'exemple ci-dessous seront
some.package.MyApplication
, doivent être présentés comme un<init-param>
du conteneur de servlet:Inscrivez-vous les haricots dans votre application:
Ici vous pouvez prendre un coup d'oeil à un prêt à exécuter l'exemple de Jersey repo Git.
2.Pourquoi devrais-je faire mon maillot de ressources Printemps de ressources Gérées par l'aide de @Composant.3.Votre lien pointe vers l'utilisation de l'applicationContext(haricots sont créés dans applicationContext)4.Puis-je enregistrer @ Configurable Classe(qui contient mes haricots) MyApplication Classe.
Ici, vous touchez trop de multiples Printemps visages en un seul coup et j'ai absolument ne pas demander à ceux qui, parce qu'à l'échelle de la question principale, et comme je suppose que je ménage ma réponse tout à fait claire et même deux façons d'atteindre les OP objectif. Mieux que de dire, je peux faire ceci ou cela c'est de l'essayer vous-même et d'explorer les résultats, si vous êtes de la pile ou de la confusion à un certain point, juste être de retour ici et personnellement je serai heureux de vous aider, si je l'attrape ton post 🙂
J'apprécie vraiment votre réponse.Je vais essayer ce que vous avez suggéré et puis si ça marche, je l'accepte.
OriginalL'auteur tmarwen
Ici est quelque chose que j'ai trouvé à partir de différents tutoriels. Combiné avec d'autres réponses, vous devriez avoir un exemple complet.
OriginalL'auteur oldfashionednewidea
Pour ceux qui essaient de le faire avec Java config:
OriginalL'auteur Georgi Staykov