在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ Java程序中,Spring bean和普通java類的初始化順序問題

Java程序中,Spring bean和普通java類的初始化順序問題

譬如說我程序中有一個Spring bean如下,它會被一個自定義的Util普通類(里面都是靜態(tài)方法)所用,

@Component
public class SpringContextUtil implements ApplicationContextAware {

    private static ApplicationContext context = null;

    @Override
    public void setApplicationContext(ApplicationContext applicationContext)
        throws BeansException {
    this.context = applicationContext;
    }

    public static <T> T getBean(String beanName) {
        return (T) context.getBean(beanName);
    }

    public static String getActiveProfile() {
        return context.getEnvironment().getActiveProfiles()[0];
    }
}

那假如這個Spring Bean在Util類初始化后再初始化肯定不行,那么像這種問題,spring是如何解決的?譬如Util類對Spring Bean的SpringContextUtil.getActiveProfile()的調(diào)用會觸發(fā)該bean的初始化?或者因為該bean未初始化,只是SpringContextUtil類加載了,然后因為applicationContext未注入,導(dǎo)致Null pointer Exception?

回答
編輯回答
離魂曲

applicationcontext會init的時候就完成所有bean的初始化 不用擔(dān)心depend問題

2017年6月19日 22:11