Spring Boot获取上下文环境方法
来源:互联网 发布:文案好的淘宝店 编辑:程序博客网 时间:2024/05/22 10:33
方法一:
import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;import org.springframework.stereotype.Component;@Componentpublic class ApplicationContextHolder implements ApplicationContextAware{ // 上下文对象实例 private static ApplicationContext applicationContext; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { ApplicationContextHolder.applicationContext = applicationContext; } public static ApplicationContext getApplicationContext(){ return applicationContext; } public static <T> T getBean(Class<T> clazz){ return applicationContext.getBean(clazz); } @SuppressWarnings("unchecked") public static <T> T getBean(String name){ return (T)applicationContext.getBean(name); } public static <T> T getBean(String name, Class<T> clazz){ return getApplicationContext().getBean(name, clazz); }}
方法二:
import org.springframework.context.ApplicationContext;public class SpringContextUtil { private static ApplicationContext applicationContext; public static ApplicationContext getApplicationContext(){ return applicationContext; } public static void setApplicationContext(ApplicationContext applicationContext){ SpringContextUtil.applicationContext = applicationContext; } public static <T> T getBean(String name){ return (T)applicationContext.getBean(name); } public static <T> T getBean(Class<T> clazz){ return applicationContext.getBean(clazz); }}入口main函数:
public static void main(String[] args) { ApplicationContext context = SpringApplication.run(Application.class, args); SpringContextUtil.setApplicationContext(context); }
阅读全文