Ensuite, c'est tout, vous pouvez l'utiliser dans n'importe quelle classe d'outil ordinaire en fonction de l'identifiant du bean. configuré en ressort est obtenu par l'objet injecté."/> Ensuite, c'est tout, vous pouvez l'utiliser dans n'importe quelle classe d'outil ordinaire en fonction de l'identifiant du bean. configuré en ressort est obtenu par l'objet injecté.">

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是最好的语言
php是最好的语言original
2018-08-04 14:05:274552parcourir

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);
	}
}

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());
	}
}

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!

Déclaration:
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