使用spring上下文ApplicationContext获取bean实例


代码如下:

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;

@Component
public class AppContext implements ApplicationContextAware {
	
	private static ApplicationContext appContext ;
	
	@Override
	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
		if(AppContext.appContext == null) {
			AppContext.appContext = applicationContext;
        }
	}

	//获取applicationContext
    public static ApplicationContext getApplicationContext() {
        return appContext;
    }

    //通过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);
    }
	
}


使用:

UserService userService = (UserService)AppContext.getBean("userService") ;
userService.getUserInfoById("1001") ;




Spring ApplicationContext

2020.11.18 00:05

https://www.meihaocloud.com.com/389.html , 欢迎转载,请在文章页标出原文连接 !


Copyright © 2020 千夕网 联系站长

粤公网安备 44030302001408号 粤ICP备19099833号-1