項目在加載完畢後馬上執行afterPropertiesSet 方法 ,而且可使用spring 注入好的beanspring
第一種方式
寫一個類,實現BeanPostProcessor,這個接口有兩個方法
(1)postProcessBeforeInitialization方法,在spring中定義的bean初始化前調用這個方法;
(2)postProcessAfterInitialization方法,在spring中定義的bean初始化後調用這個方法;
這個雖然也能執行,可是是每次加載一個bean都會去執行,不太知足個人要求,我只須要一次就ok了,可是這個接口針對某個專門的bean有用ide
第二種方式 編寫一個實現ApplicationListener的listener類post
@Service public class StartupListener implements ApplicationListener<ContextRefreshedEvent > { public static String ShopNum ; @Autowired ShopService shopService; @Override public void onApplicationEvent(ContextRefreshedEvent event) { if ( event.getApplicationContext (). getParent() == null) { // TODO 這裏寫下將要初始化的內容 Shop shopByShopNum = shopService .getShopByShopNum ("e7-80-2e-e8-6c-a6" ); System.out .println ("----------------------------" ); } }}
最後一種方式編寫InitializingBean的實現類code
@Service public class Test implements InitializingBean{ @Autowired ShopService shopService; @Override public void afterPropertiesSet() throws Exception { Shop shopByShopNum = shopService.getShopByShopNum( "e7-80-2e-e8-6c-a6"); System.out .println ("----------------------------" ); } }
項目在加載完畢後馬上執行afterPropertiesSet 方法 ,而且可使用spring 注入好的bean接口