Dann können Sie sie entsprechend der ID der Bean in jeder gewöhnlichen Tool-Klasse verwenden Im Frühjahr konfiguriert wird durch das injizierte Objekt erhalten."/> Dann können Sie sie entsprechend der ID der Bean in jeder gewöhnlichen Tool-Klasse verwenden Im Frühjahr konfiguriert wird durch das injizierte Objekt erhalten.">

Heim  >  Artikel  >  Java  >  Eine Methode, die Ihnen beibringt, wie Sie mit Spring Service und Dao in gewöhnliche Java-Klassen einfügen

Eine Methode, die Ihnen beibringt, wie Sie mit Spring Service und Dao in gewöhnliche Java-Klassen einfügen

php是最好的语言
php是最好的语言Original
2018-08-04 14:05:274461Durchsuche

In von Spring verwalteten Webprojekten wie Struts und Spring-Projekten kann der definierte Dienst nach der Konfiguration direkt in Struts verwendet werden. Wenn Sie jedoch Service oder Dao in einer gewöhnlichen Tool-Klasse verwenden möchten, wird ein Nullzeiger gemeldet, da diese gewöhnliche Java-Klasse nicht unter Spring-Verwaltung steht und den von Spring injizierten Dienst nicht verwenden kann.

Das Folgende ist eine Methode, die es gewöhnlichen Werkzeugklassen ermöglicht, Dienste zu nutzen.

Definieren Sie eine Klasse 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);
	}
}

und fügen Sie diese Klasse dann zur Spring-Konfigurationsdatei hinzu,

Dann können Sie das injizierte Objekt in jeder gewöhnlichen Werkzeugklasse basierend auf der im Frühjahr konfigurierten Bean-ID erhalten

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

Außerdem beachten Sie bitte:

in ArticleService articleService = (ArticleService) SpringTool.getBean("articleService"); 中的articleService

Eine Methode, die Ihnen beibringt, wie Sie mit Spring Service und Dao in gewöhnliche Java-Klassen einfügen

Verwandte Artikel:

Unbekannte Injektionsmethoden in Java Spring Ausführliche Erklärung

Wie um Service

in den Java-Filter einzufügen

Das obige ist der detaillierte Inhalt vonEine Methode, die Ihnen beibringt, wie Sie mit Spring Service und Dao in gewöhnliche Java-Klassen einfügen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn