| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package seecoder.devcloud.common.util;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.BeansException;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.ApplicationContextAware;
- import javax.annotation.PostConstruct;
- /**
- * @author PuHong Weng
- * @date 2021/1/19
- * @description:
- */
- @Slf4j
- public class SpringUtil implements ApplicationContextAware {
- private static ApplicationContext applicationContext;
- public static SpringUtil springUtil ;
- @PostConstruct
- public void init() {
- springUtil = this;
- }
- @Override
- public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
- if(SpringUtil.applicationContext == null) {
- SpringUtil.applicationContext = applicationContext;
- }
- log.info("ApplicationContext配置成功,在普通类可以通过调用SpringUtil.getAppContext()获取applicationContext对象,applicationContext="+SpringUtil.applicationContext);
- }
- //获取applicationContext
- public static ApplicationContext getApplicationContext() {
- return applicationContext;
- }
- //通过name获取 Bean.
- public static Object getBean(String name){
- return getApplicationContext().getBean(name);
- }
- //通过class获取Bean.
- public static <T> T getBean(Class<T> clazz){
- return getApplicationContext().getBean(clazz);
- }
- //通过name,以及Clazz返回指定的Bean
- public static <T> T getBean(String name,Class<T> clazz){
- return getApplicationContext().getBean(name, clazz);
- }
- }
|