原文:如何在靜態方法或非Spring Bean中注入Spring Bean

在項目中有時需要根據需要在自己new一個對象,或者在某些util方法或屬性中獲取Spring Bean對象,從而完成某些工作,但是由於自己new的對象和util方法並不是受Spring所管理的,如果直接在所依賴的屬性上使用 Autowired就會報無法注入的錯誤,或者是沒報錯,但是使用的時候會報空指針異常。總而言之由於其是不受IoC容器所管理的,因而無法注入。 Spring提供了兩個接口:Bean ...

2018-06-10 08:30 0 6994 推薦指數:

查看詳情

靜態方法中注入bean

@Componentpublic class ScriptExecuteContent { } 該段代碼晃眼一看沒啥問題,但是運行就會null異常,因為此處注入的signRepository為null,這是因為靜態方法是屬於類的,普通方法才屬於對象,spring注入是在容器中實例化變量 ...

Mon Jun 29 01:00:00 CST 2020 0 3044
main方法中注入Spring bean

在有些情況下需要使用main使用Spring bean,但是main方法啟動並沒有托管給Spring管理,會導致bean失敗,報空指針異常。 可以使用 ClassPathXmlApplicationContext 加載配置文件,獲獲取bean: public static void ...

Thu Aug 23 19:50:00 CST 2018 0 2664
spring組件servlet、filter、interceptor中注入spring bean

問題:在filter和interceptor中經常需要調用Springbean,filter也是配置在web.xml中的,請問一下這樣調用的話,filter中調用Spring的某個bean,這個bean一定存在嗎?現在總是擔心filter調用bean的時候,bean還沒被實例化? 答案 ...

Fri May 06 04:14:00 CST 2016 0 4420
靜態方法中調用Spring注入方法(Bean方法)

Java中該注解的說明:@PostConstruct該注解是javax.annotation包下的,被用來修飾一個靜態的void()方法。被@PostConstruct修飾的方法會在服務器加載Servlet的時候運行,並且只會被服務器執行一次。PostConstruct在構造函數 ...

Tue Nov 19 03:19:00 CST 2019 0 2247
Java(多)線程中注入SpringBean

問題說明 今天在web應用中用到了Java多線程的技術來並發處理一些業務,但在執行時一直會報NullPointerException的錯誤,問題定位了一下發現是線程中的Spring bean沒有被注入bean對象的值為null。 原因分析 web容器在啟動應用時,並沒有提前將線程中的bean注入 ...

Sun Feb 28 00:42:00 CST 2016 0 15356
Springbean中注入HttpServletRequest解密

我們可以在Springbean中輕松的注入HttpServletRequest,使用@Autowired HttpServletRequest request;就可以了。 但是,為什么我們可以直接這樣用呢? 原因肯定是Spring在容器初始化的時候就將HttpServletRequest注冊 ...

Wed Mar 30 18:27:00 CST 2016 0 6159
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM