中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring?main方法中怎么調用Dao層和Service層的方法

發布時間:2021-12-03 13:33:07 來源:億速云 閱讀:221 作者:iii 欄目:開發技術

本篇內容介紹了“Spring main方法中怎么調用Dao層和Service層的方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

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);

如何在普通類中直接訪問service層或dao層

最近遇到一個問題,如何在工具類中去訪問dao層與service層的方法,因為可能本人底子比較薄弱,一開始未想到錯誤點在哪,后來debug才發現我的service或 dao 都是空的。

因為平時在調用service層時都是在controller中,有配置掃描注入,spring會根據配置自動注入所依賴的服務層。

但因我們寫的工具類不屬于controller層,所以當所寫接口需要調用服務層是,常常會為NULL。

下面 我直接來分享自己的解決方案:

第一種方案

寫個方法 implements ApplicationContextAware 接口

Spring?main方法中怎么調用Dao層和Service層的方法

然后在你的工具類中

ApplicationContext appCtx = SpringContextUtil.getApplicationContext();
StatusMapper statusMapper = (StatusMapper)appCtx.getBean(StatusMapper.class);

這樣直接調用就好

第二種方案

網上看到的,未驗證過

1.將此工具類加上@Component注解

2.將所需調用的服務類設置成靜態屬性,并通過方法直接將服務層設置成工具類自己的屬性即可。

Spring?main方法中怎么調用Dao層和Service層的方法

“Spring main方法中怎么調用Dao層和Service層的方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大洼县| 古田县| 五常市| 夏河县| 浮梁县| 修武县| 浦城县| 拜城县| 南澳县| 榆社县| 措勤县| 克东县| 榆林市| 曲周县| 平陆县| 田阳县| 车险| 宁乡县| 双江| 桓台县| 海口市| 维西| 九江市| 彭州市| 弥渡县| 调兵山市| 伊川县| 咸丰县| 博兴县| 莒南县| 龙口市| 柳河县| 怀仁县| 合阳县| 德昌县| 田阳县| 淳安县| 抚顺市| 岗巴县| 泗洪县| 康乐县|