標籤:imp 應用 div set return throw 成員 ati exception
將懶載入關閉,@Lazy(false),預設為true
1 import org.springframework.beans.BeansException; 2 import org.springframework.context.ApplicationContext; 3 import org.springframework.context.ApplicationContextAware; 4 import org.springframework.context.annotation.Lazy; 5 import org.springframework.stereotype.Service; 6 7 @Service 8 @Lazy(false) 9 public class SpringContextUtil implements ApplicationContextAware {10 11 private static ApplicationContext applicationContext = null; // Spring應用上下文環境12 13 /*14 * 15 * 實現了ApplicationContextAware 介面,必須實現該方法;16 * 17 * 通過傳遞applicationContext參數初始化成員變數applicationContext18 */19 20 public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {21 SpringContextUtil.applicationContext = applicationContext;22 }23 24 public static ApplicationContext getApplicationContext() {25 return applicationContext;26 }27 28 @SuppressWarnings("unchecked")29 public static <T> T getBean(String name) throws BeansException {30 return (T) applicationContext.getBean(name);31 }32 33 }
實現ApplicationContextAware介面時,擷取ApplicationContext為null