您好,登錄后才能下訂單哦!
本篇內容介紹了“Spring main方法中怎么調用Dao層和Service層的方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
在web環境中,一般serviceImpl中的dao之類的數據庫連接都由容器啟動的時候創建好了,不會報錯。
但是在main中,沒有這個環境,所以需要獲取環境:
ApplicationContext ctx = new FileSystemXmlApplicationContext("src/applicationContext.xml"); PianoServiceImpl pianoService = (PianoServiceImpl) ctx.getBean("pianoServiceImpl"); //然后再調用方法 return pianoService.getPriceByBrand(brand);
最近遇到一個問題,如何在工具類中去訪問dao層與service層的方法,因為可能本人底子比較薄弱,一開始未想到錯誤點在哪,后來debug才發現我的service或 dao 都是空的。
因為平時在調用service層時都是在controller中,有配置掃描注入,spring會根據配置自動注入所依賴的服務層。
但因我們寫的工具類不屬于controller層,所以當所寫接口需要調用服務層是,常常會為NULL。
下面 我直接來分享自己的解決方案:
寫個方法 implements ApplicationContextAware 接口
然后在你的工具類中
ApplicationContext appCtx = SpringContextUtil.getApplicationContext(); StatusMapper statusMapper = (StatusMapper)appCtx.getBean(StatusMapper.class);
這樣直接調用就好
網上看到的,未驗證過
1.將此工具類加上@Component注解
2.將所需調用的服務類設置成靜態屬性,并通過方法直接將服務層設置成工具類自己的屬性即可。
“Spring main方法中怎么調用Dao層和Service層的方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。