/** * @description Spring 工具類 * @author 李銘浩 * @date 2017年8月16日 * @porject spring-boot-helloworld */ //@Component public class SpringUtil implements ApplicationContextAware { private static ApplicationContext applicationContext = null; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { if (SpringUtil.applicationContext == null) { SpringUtil.applicationContext = applicationContext; } } /** * @description 獲取applicationContext * @author 李銘浩 * @date 2017年8月16日 * @return */ public static ApplicationContext getApplicationContext() { return applicationContext; } /** * @description 經過class獲取Bean. * @author 李銘浩 * @date 2017年8月16日 * @param clazz * @return */ public static <T> T getBean(Class<T> clazz){ return getApplicationContext().getBean(clazz); } /** * @description 經過name,以及Clazz返回指定的Bean * @author 李銘浩 * @date 2017年8月16日 * @param name * @param clazz * @return */ public static <T> T getBean(String name,Class<T> clazz){ return getApplicationContext().getBean(name, clazz); } }
@Component public class SpringUtil implements ApplicationContextAware { }
在App.java 中注入beanjava
@Bean public SpringUtil springUtil2(){return new SpringUtil();}
@Import(value={SpringUtil.class})spring
@SpringBootApplication @ServletComponentScan @Import(value={SpringUtil.class}) public class App { ... }