使用Spring註解,在靜態方法中注入bean(spring靜態注入元件——工具類常用)
如果直接用spring注入靜態屬性,則會報錯,提示@Resource annotation is not supported on static fields,如果又一定要通過spring注入bean,可以採用@PostConstruct註解在某個用來初始化的方法上,注入時注入到另一個不是靜態的變數裡,然後在初始化方法裡面將注入好的變數賦值給靜態變數,通過這些操作就給靜態變數賦值。
- @Component
- publicclass CodeGenerator {
- @Resource
- private StringRedisTemplate stringRedisTemplate
- publicstatic
- @PostConstruct
- publicvoid init(){
- codeGenerator.redisService = this.stringRedisTemplate;
- }
- }
相關推薦
使用Spring註解,在靜態方法中注入bean(spring靜態注入元件——工具類常用)
如果直接用spring注入靜態屬性,則會報錯,提示@Resource annotation is not supported on static fields,如果又一定要通過spring注入bean,可以採用@PostConstruct註解在某個用來初始化的方法上,注入時注
Spring 無法注入靜態變數,直接在靜態方法中獲取bean
模組中想把一個類寫成工具類,提供靜態方法呼叫。但是方法中要用到@autowire注入的dao類變數,它要能在靜態方法中使用的話本身就加上static,但是static變數是無法用@autowire注入的。 @Autowired private AppConfMapper m
spring靜態方法中使用bean物件
方法: 在類中建立一個靜態的bean物件,然後使用init方式初始化這個bean,這樣就可以在靜態方法中呼叫了 @Service("idg") public class IDGenerator { @Autowired
靜態方法中只允許訪問靜態數據,那麽,如何在靜態方法中訪問類的實例成員(即沒有附加static關鍵字的字段或方法)?
static關鍵字 實例成員 clas 靜態 image eth sys 靜態方法 http package test.two; public class jingtaihanshu { int x = 3; static int y
使用Spring註解,在靜態方法中注入bean
@Component public class FTPUtil { //通過dicService讀取資料庫中的FTP引數 @Autowired private DicService dicService; private static FTPUtil fTPUtil;
SpringMVC靜態方法中如何注入service非靜態方法,如何在contextInitialized之前注入bean,使service不會報空
1.靜態方法中不能用非靜態方法 首先宣告java中只有靜態方法和靜態引數,沒有靜態類。但可以在類中將自己宣告稱靜態引數,從而模擬將整個類都靜態載入在快取中,具體下面再詳細講。 因為靜態方法在程式啟動時就載入,而非靜態方法此時還不在記憶體中(spring中加
spring專案中靜態方法中使用注入的bean
1. 說明: 專案中涉及到dubbo服務,在專案中需要將這個服務作為一個bean注入,由於本人需要在靜態方法中使用這個bean,所以如果使用類似@Autowire等註解注入時會編譯報錯。 2. 解決方法: 自己寫一個工具類,通過spring上下文獲取這個bean。轉成靜態
Spring中靜態方法中使用@Resource註解的變數
Spring框架中使用靜態注入 開發中,有些時候可能會工具類的靜態方法,而這個靜態方法中又使用到了@Resource註解後的變數。如果要直接使用 Utils.staticMethod(),專案會
spring注入的方式實現靜態方法中使用非靜態變數
實現靜態方法中使用非靜態變數 程式碼示例: public class TestClass{ private SystemConfig config; private static TestClass test; public TestClass()
靜態方法中直接使用註入的bean對象
進行 stat 註入 問題 就會 ces 直接 static scrip 問題:靜態方法中註入bean分析問題:先看一段代碼 @Componentpublic class ScriptExecuteContent { @Autowired private static S
靜態方法中呼叫service方法,以及獲取request物件
靜態方法中呼叫service方法,以及獲取request物件 //普通service方法,重點:ApplicationContextRegister物件 DictionaryService dictionaryService = ApplicationContextRe
Spring 系列 --------------手動注入bean,用於靜態工具類
基於spring boot搭建屬於自己的技術框架時,突然發現以前都不在意的問題---靜態工具類/攔截器/過濾器....非spring管理的元件時,我想使用service層的方法時,該如何實現?一開始時是覺得直接將該類用@Component註冊成spring 元件算了,然後發現
JDBC工具類(JDBC工具類,封裝方法(公共的、靜態的)進行與資料庫的連線及執行sql命令,在需要使用的類中直接呼叫。)
JDBC工具類,封裝方法(公共的、靜態的)進行與資料庫的連線及執行sql命令,在需要使用的類中直接呼叫。 package com.offcn.util; import java.io.IOException; import java.io.InputStrea
使用spring註解,注入sessionFactory類
簡述 目前使用spring hibernate作為專案的框架,並且使用註解方式進行物件裝載。在裝載Dao物件的時候常常需要注入sessionFactory物件,通常的做法是Dao繼承至HibernateDaoSuppor,t然後在Dao中新增setSuperSessionF
Thread子類中,不能使用Spring註解,變數為null
執行緒裡面,不能使用註解,Spring本身預設Bean為單例模式構建,同時是非執行緒安全的,因此禁止了在Thread子類中的注入行為,因此在Thread中直接注入的bean是null的。 解決辦法有很多個,可自行在網上搜索,本文的解決辦法如下: 建立Spr
Spring的Controller請求方法中引數名匹配,但是引數型別不同會報404
org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors Field error in object 'merchantAppInfo' on
關於jpa的Specification自定義函式,實現oracle的decode;以及如何在靜態方法中呼叫注入的service
如何在靜態方法中呼叫注入的service Public class ClassA{ public static ClassA classA; @Resource private Service service; //原理時在工程啟動時載入,在靜態方法前載入,這樣就可以在靜態方法中呼叫注入的
【Spring註解驅動開發】如何使用@Bean註解指定初始化和銷燬的方法?看這一篇就夠了!!
## 寫在前面 > 在【[String註解驅動開發專題](https://www.cnblogs.com/binghe001/category/1780611.html)】中,前面的文章我們主要講了有關於如何向Spring容器中註冊bean的知識,大家可以到【[String註解驅動開發專題](http
靜態方法中訪問類的例項成員
例項程式碼 public class Example { int x = 3;//類的例項變數,初始化值為3 static int y = 4;//類的靜態變數,初始化值為4 public static void method()//靜態方法 { System.out.prin
深入理解Java中的同步靜態方法和synchronized(class)程式碼塊的類鎖 深入理解Java併發synchronized同步化的程式碼塊不是this物件時的操作
一.回顧學習內容 在前面幾篇部落格中我我們已經理解了synchronized物件鎖、物件鎖的重入、synchronized方法塊、synchronized非本物件的程式碼塊, 連結:https://www.cnblogs.com/SAM-CJM/category/1314992.h