在Spring MVC中使用工具類呼叫Service層時,Service類為null如何解決
因為平時在呼叫service層時都是在controller中,有配置掃描注入,spring會根據配置自動注入所依賴的服務層。
但因我們寫的工具類不屬於controller層,所以當所寫介面需要呼叫服務層是,常常會為NULL。
下面就分享一個實踐後可行的辦法,如下圖所示:
主要是:1.將此工具類加上@Component註解
2.將所需呼叫的服務類設定成靜態屬性,並通過方法直接將服務層設定成工具類自己的屬性即可。
(雖然還沒搞懂原理,但確實可行)
====================================================================================================================================
近期在做串列埠或者comet4j時,發現也會使用到service層,但貌似上面方法未能有效。
今日特地前來加補一種方法。因為我們使用的spring框架,所以所有的類基本都由spring容器同一載入管理。
於是,我們可以自己再載入一下spring的xml配置檔案,來獲取我們所想要得到的物件,如下圖:
public static ApplicationContext applicationContext = new ClassPathXmlApplicationContext("/spring-*.xml");
private static SystemalarmService systemalarmService = (SystemalarmService)applicationContext.getBean(SystemalarmService.class);
private static AlarmInfoService alarmInfoService = (AlarmInfoService)applicationContext.getBean(AlarmInfoService.class);
相關文章
- Java service層獲取HttpServletRequest的工具類JavaHTTPServlet
- [解決] spring service 呼叫當前類方法事務不生效Spring
- MVC下的DAO介面類和SERVICE介面類區別?MVC
- Service層的怎麼寫測試類
- SSH在呼叫Service時獲取為空-解決辦法
- 使用make命令建立Service類
- Controller內注入的Service為nullControllerNull
- 翻譯-使用Spring呼叫SOAP Web ServiceSpringWeb
- 【Azure App Service】在App Service中呼叫Stroage SDK上傳檔案時遇見 System.OutOfMemoryExceptionAPPException
- Laravel自定義Make命令生成Service類Laravel
- 在專案中使用Service Worker 與 PWA
- java自動生成實體類(帶註釋)和controller層,service層 dao層 xml層JavaControllerXML
- 在Salesforce中向外公佈Service去建立Lead,並且用Asp.Net去呼叫此ServiceSalesforceASP.NET
- ASP 呼叫WEB SERVICE 文件Web
- c#呼叫web serviceC#Web
- Android工具類之手機元件呼叫工具類Android元件
- 開啟IDEA工具的service執行spingboot啟動類Ideaboot
- Spring MVC 核心類和介面SpringMVC
- 初學者在symfony2開發中使用service
- Nearby Service為影音娛樂類APP提供“零”流量極速分享功能APP
- iPhone 呼叫Web Service 例子(轉)iPhoneWeb
- 解決在Interceptor攔截器中使用@DubboReference注入為nullNull
- @Validated、@Valid在service層引數校驗
- Spring Web Service教程SpringWeb
- Service Worker 在 PWA 中的應用
- 何時使用static類(工具類)
- spring盒springMVC整合父子容器問題:整合Spring時Service層為什麼不做全域性包掃描詳解SpringMVC
- 【應用服務 App Service】App Service使用Git部署時,遇見500錯誤APPGit
- win10系統Antimalware Service Executable程式佔用cpu過高如何解決Win10
- 在VBScript中使用類(三) (轉)
- 在VBScript中使用類(四) (轉)
- abp的application service形成的restful api 和nswagger的整合時, 返回值為nullAPPRESTAPISwaggerNull
- 如何使用ABSL程式碼呼叫Web serviceWeb
- java時間工具類Java
- 【應用服務 App Service】App Service 新手資料包APP
- Spring使用Quartz定時排程Job無法Autowired注入Service的解決方案Springquartz
- Service Worker的應用
- Spring中同一個service中方法相互呼叫事務不生效問題解決方案Spring