標籤:context 工具 ram lua 資料庫 問題 obj pos public
近些日子在做一個項目,在項目中需要用到spring的定時任務,但是在操作資料庫的時候發現總是不能正確的進行資料的插入,經過查看才發現:是因為service層不能夠通過普通的方法注入到action,所以這樣就不能夠執行service層,進而執行資料庫的操作。
解決方案:這時需要配置一個service注入的工具類,代碼如下:
一、工具類
public class ApplicationContextUtil implements ApplicationContextAware { private static ApplicationContext applicationContext; public static ApplicationContext getApplicationContext() { return applicationContext; } public void setApplicationContext(ApplicationContext applicationContext) { ApplicationContextUtil.applicationContext = applicationContext; } public static Object getBean(String beanName) { return applicationContext.getBean(beanName); } }二、配置bean
<bean id ="applicationContextUtil" class ="org.sihai.soil.util.ApplicationContextUtil" ></bean >
三、定時器中通過ApplicationContextUtil類,獲得service。
realmEbi = (RealmEbi) ApplicationContextUtil.getBean("realmEbi"); realmEbi.insertHour(RealmApplianceModel.sendData3);
完美解決了,這樣我們就可以擷取到service對象進行相對應的業務處理,而不需要再建立jdbc來操作了。
java學習群669823128
java定時器無法自動注入的問題解析(原來Spring定時器可以這樣注入service)