怎樣在普通類中使用被spring管理的bean
在使用spring做開發的時候,有時候會碰到的一個問題是----怎樣在普通的類(不被spring管理、沒有注入到spring容器中)中呼叫spring容器中的bean?
因為呼叫方是普通類,不是被spring管理的bean,所以依賴注入是沒法用了。那麼,有沒有解決辦法呢?當然是有的。網上的教程提供了很多種方法,而本文只講解個人認為最簡單的一種----那就是利用spring提供的ApplicationContextAware介面。
- 工具類
- 在普通類中使用工具類獲取spring管理的bean
- 驗證
關於ApplicationContextAware的作用,本文不講,不瞭解的可以去其他地方找資料學習。
相關推薦
Java普通類中獲得Spring管理的類
由於有時會寫一些工具類或者單例類,這些類中可能使用到Spring管理的一些類,比如dao,service等,這時就要獲得這些spring管理的類,我們寫測試類中main函式中一般是用: ApplicationContext ac = new ClassPathXmlAp
普通類中引用spring 容器管理的bean
今天遇到一個問題,在webservice介面中去注入spring管理的類的時候出現了空指標的問題,但是呢,這個webservice類並沒有交給spring去做統一管理,那麼要怎麼注入到spring的b
SpringBoot普通類中如何獲取其他bean例如Service、Dao(轉)
@param todo spa .cn con elves IV exc date 工具類 import org.springframework.beans.BeansException; import org.springframework.context.App
SpringBoot普通類中如何獲取其他bean例如Service、Dao
轉:https://www.cnblogs.com/mrx520/p/7802831.html 工具類 import org.springframework.beans.BeansException; import org.springframework.context
在過濾器filter中獲取spring管理bean的物件例項
有時我們需要在過濾器中獲取自動注入的物件的例項,如果在filter中也通過自動注入的方式往往得到的結果是null,如果通過new一個物件的話,有時可能是我們想要的結果,有時我們只是想獲取spring上下文中唯一的一個例項,spring預設是單例項模式,這樣的話通過自動注入和n
怎樣在普通類中使用被spring管理的bean
在使用spring做開發的時候,有時候會碰到的一個問題是----怎樣在普通的類(不被spring管理、沒有注入到spring容器中)中呼叫spring容器中的bean? 因為呼叫方是普通類,不是被spring管理的bean,所以依賴注入是沒法用了。那麼,有沒有解決辦法呢?當然是有的。
單元測試被spring管理的類(如service實現類)中的私有方法
目標 ServiceImpl類中有一個私有方法MethodA,而ServiceImpl是被spring管理的,該類中有一些用@Autowired注入的依賴項,因此不能直接new來建立它的例項,需要通過spring來建立它的例項,那麼該怎麼測試該私有方法呢? 方案 測試類 pu
Spring @Autowired註解在utils靜態工具類非controller普通類中使
在SpringMVC框架中,我們經常要使用@Autowired註解注入Service或者Mapper介面,我們也知道,在controller層中注入service介面,在service層中注入其它的service介面或者mapper介面都是可以的,但是如果我們要在我們自己封裝的Utils工具類中或者
在單獨的main方法中執行spring 管理的類方法
import org.apache.commons.lang3.RandomStringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.con
No.4 Spring boot 中如何在Utils類中使用@Autowired注入bean
Springboot中如果希望在Utils工具類中,使用到我們已經定義過的Dao層或者Service層Bean,可以如下編寫Utils類: 1. 使用@Component註解標記工具類StatisticsUtils: 2. 使用@Autowired(@Autowired和@
Spring 在靜態工具類中使用註解注入bean
問題 最近在專案中遇到這樣一個情況:有一個傳送郵件的工具類。在這個工具類中提供了幾種靜態方法,靜態方法需要另外一個類的例項提供處理。在static方法裡呼叫注入進來的service,因為是靜態方法,所以必須宣告該service也必須是static的,這時候發現
spring 在單例類中使用註解注入bean
/** * @author: jerry * @Email: * @Company: * @Action: 日誌處理工具類 * @DATE: 2016-9-19 */ @Component//泛指元件,當元件不好歸類的時候,我們可以使用這個註解進行標註 p
Spring在工具類中使用註解注入Bean
public class LogUtil { @Autowired private LogService logService; private static Lo
Java獲取Tomcat啟動中的spring管理的容器注入的實體,用來獲取相應的bean
Java獲取Tomcat啟動中的spring管理的容器,用來獲取相應的bean:具體方法如下1.建立一個類並讓其實現org.springframework.context.ApplicationContextAware介面來讓Spring在啟動的時候為我們注入Applica
spring boot 在普通類中獲取HttpServletRequest物件
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import j
spring的普通類中如何取session和request對像
在使用spring時,經常需要在普通類中獲取session,request等對像. 比如一些AOP攔截器類,在有使用struts2時,因為struts2有一個介面使用org.apache.struts2.ServletActionContext即可很方便的取到sessio
在servlet中如何使用被Spring管理的service
首先真的很感謝這篇文章的作者,我在這次的專案中遇到了這個問題,看了很多網上的資料都沒解決,直到看到這篇文章才解決,我用的是方法2.2。 剛開始我把service設定成servlet的成員變數,不知道為什麼不行,這種方式讓這個servlet都無法使用,希望知道原因的
編碼剖析Spring管理Bean的原理
bean對象 控制 eva BE 並且 return select lec exception 在Spring的第一個案例中,我們已經知道了怎麽將bean交給Spring容器進行管理,並且明白了怎麽從Spring容器中獲取bean。那我們就有一個疑問了:Spring是如何創
Springboot中如何在Utils類中使用@Autowired注入bean
Springboot中如果希望在Utils工具類中,使用到我們已經定義過的Dao層或者Service層Bean,可以如下編寫Utils類: 1. 使用@Component註解標記工具類StatisticsUtils: 2. 使用@Autowired(@Autowired和@Resource的區別不再介紹)
Java多執行緒中注入Spring的Bean-使用靜態方法直接取的容器中的spring物件
目前認為比較好的解決方案。 1,工具類 public class SpringApplicationContextHolder implements ApplicationContextAware { private static ApplicationContext context