Maison > Java > javaDidacticiel > Une méthode pour vous apprendre à utiliser Spring pour injecter des services et des dao dans les classes Java ordinaires

Une méthode pour vous apprendre à utiliser Spring pour injecter des services et des dao dans les classes Java ordinaires

php是最好的语言
Libérer: 2018-08-04 14:05:27
original
4538 Les gens l'ont consulté

Dans les projets web gérés par spring, comme Struts et les projets spring, après configuration, le service défini peut être utilisé directement dans Struts. Cependant, si vous souhaitez utiliser service ou dao dans une classe d'outils ordinaire, un pointeur nul sera signalé, car cette classe Java ordinaire n'est pas sous gestion Spring et ne peut pas utiliser le service injecté par Spring.

Ce qui suit est une méthode qui permet aux classes d'outils ordinaires d'utiliser le service.

Définissez une classe SpringTool

/**
 * 通过该类即可在普通工具类里获取spring管理的bean
 * @author wolf
 *
 */
public final class SpringTool implements ApplicationContextAware {
	private static ApplicationContext applicationContext = null;
 
	@Override
	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
		if (SpringTool.applicationContext == null) {
			SpringTool.applicationContext = applicationContext;
			System.out.println(
					"========ApplicationContext配置成功,在普通类可以通过调用ToolSpring.getAppContext()获取applicationContext对象,applicationContext="
							+ applicationContext + "========");
		}
	}
 
	public static ApplicationContext getApplicationContext() {
		return applicationContext;
	}
 
	public static Object getBean(String name) {
		return getApplicationContext().getBean(name);
	}
}
Copier après la connexion

puis ajoutez cette classe au fichier de configuration Spring,

Ensuite, vous pouvez obtenir l'objet injecté dans n'importe quelle classe d'outils ordinaire en fonction de l'identifiant du bean configuré au printemps

import app.util.spring.SpringTool;
public class Test {
	
	public void print() {
		ArticleService articleService = (ArticleService) SpringTool.getBean("articleService");
		Article article = articleService.queryById(756);
		System.out.println(article.getTitle());
	}
}
Copier après la connexion

Veuillez également noter :

n'est pas disponible dans ArticleService articleService = (ArticleService) SpringTool.getBean("articleService"); 中的articleService

Une méthode pour vous apprendre à utiliser Spring pour injecter des services et des dao dans les classes Java ordinaires

Articles connexes :

Pas dans Java Spring Explication détaillée des méthodes d'injection bien connues

Comment injecter un service dans un filtre Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal