欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實現(xiàn)普通類注入service對象

 更新時間:2021年07月19日 14:50:41   作者:Sun_XiaoJing  
這篇文章主要介紹了Java實現(xiàn)普通類注入service對象,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

普通類注入service對象

找了很多辦法,無論是加@Component還是編寫工具類實現(xiàn)ApplicationContextAware,始終為null。

最后使用這兩行代碼解決:

WebApplicationContext context = ContextLoader.getCurrentWebApplicationContext();
DailySurveyService service = (DailySurveyService) context.getBean("dailySurveyService");

spring的普通類如何注入service、dao

在spring管理的web項目里,譬如Struts和spring的項目,配置好后,Struts里就可以直接使用定義好的service。

但是如果要在普通的工具類里,使用service或dao,就會報空指針,因為這個普通的Java類并不在spring管理下,不能使用spring注入的service。

下面講一個方法,讓普通工具類也能使用service。

定義一個類 SpringTool

/** 
 * 通過該類即可在普通工具類里獲取spring管理的bean 
 * @author wolf 
 * 
 */  
public final class SpringTool implements ApplicationContextAware {  
    private static ApplicationContext applicationContext = null;  
  
    @Override  
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {  
        if (SpringTool.applicationContext == null) {  
            SpringTool.applicationContext = applicationContext;  
            System.out.println(  
                    "========ApplicationContext配置成功,在普通類可以通過調(diào)用ToolSpring.getAppContext()獲取applicationContext對象,applicationContext="  
                            + applicationContext + "========");  
        }  
    }  
  
    public static ApplicationContext getApplicationContext() {  
        return applicationContext;  
    }  
  
    public static Object getBean(String name) {  
        return getApplicationContext().getBean(name);  
    }  
}  

然后將這個類,加入到spring的配置文件里

<bean class="app.util.spring.SpringTool"/>

然后就可以了,就可以在任何一個普通的工具類里,根據(jù)spring里配置好的bean的id,

得到這個注入好的對象了

import app.util.spring.SpringTool;  
public class Test {  
      
    public void print() {  
        ArticleService articleService = (ArticleService) SpringTool.getBean("articleService");  
        Article article = articleService.queryById(756);  
        System.out.println(article.getTitle());  
    }  
} 

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Springboot GET和POST請求參數(shù)獲取方式小結(jié)

    Springboot GET和POST請求參數(shù)獲取方式小結(jié)

    Spring Boot GET和POST請求參數(shù)獲取是開發(fā)人員經(jīng)常需要解決的問題,本文主要介紹了Springboot GET和POST請求參數(shù)獲取方式小結(jié),具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • 必須了解的高階JAVA枚舉特性!

    必須了解的高階JAVA枚舉特性!

    這篇文章主要介紹了必須了解的高階JAVA枚舉特性!幫助大家更好的理解和學(xué)習(xí)Java枚舉的相關(guān)知識,感興趣的朋友可以了解下
    2021-01-01
  • Springboot全局異常捕獲及try catch區(qū)別解析

    Springboot全局異常捕獲及try catch區(qū)別解析

    這篇文章主要介紹了Springboot全局異常捕獲及try catch區(qū)別解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • spring整合redis緩存并以注解(@Cacheable、@CachePut、@CacheEvict)形式使用

    spring整合redis緩存并以注解(@Cacheable、@CachePut、@CacheEvict)形式使用

    本篇文章主要介紹了spring整合redis緩存并以注解(@Cacheable、@CachePut、@CacheEvict)形式使用,具有一定的參考價值,有興趣的可以了解一下。
    2017-04-04
  • 關(guān)于SpringBoot中的XA事務(wù)詳解

    關(guān)于SpringBoot中的XA事務(wù)詳解

    這篇文章主要介紹了關(guān)于SpringBoot中的XA事務(wù)詳解,事務(wù)管理可以確保數(shù)據(jù)的一致性和完整性,同時也可以避免數(shù)據(jù)丟失和沖突等問題。在分布式環(huán)境中,XA?事務(wù)是一種常用的事務(wù)管理方式,需要的朋友可以參考下
    2023-07-07
  • java: 錯誤: 無效的源發(fā)行版18問題及解決

    java: 錯誤: 無效的源發(fā)行版18問題及解決

    這篇文章主要介紹了java: 錯誤: 無效的源發(fā)行版18問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Java中的String對象數(shù)據(jù)類型全面解析

    Java中的String對象數(shù)據(jù)類型全面解析

    首先String不屬于8種基本數(shù)據(jù)類型,String是一個對象,因為對象的默認(rèn)值是null,所以String的默認(rèn)值也是null;但它又是一種特殊的對象,有其它對象沒有的一些特性
    2012-11-11
  • 老生常談比較排序之歸并排序(遞歸)

    老生常談比較排序之歸并排序(遞歸)

    下面小編就為大家?guī)硪黄仙U劚容^排序之歸并排序(遞歸)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Spring Boot Admin 進(jìn)行項目監(jiān)控管理的方法

    Spring Boot Admin 進(jìn)行項目監(jiān)控管理的方法

    Spring Boot Admin是一個開源社區(qū)項目,用于管理和監(jiān)控SpringBoot應(yīng)用程序。 這篇文章主要介紹了 Spring Boot Admin 進(jìn)行項目監(jiān)控管理的方法,需要的朋友可以參考下
    2020-07-07
  • Spring?Security如何為用戶示例添加角色詳解

    Spring?Security如何為用戶示例添加角色詳解

    目前我正在用Java開發(fā)一個基于Spring Boot的web應(yīng)用程序,下面這篇文章主要給大家介紹了關(guān)于Spring?Security如何為用戶示例添加角色的相關(guān)資料,需要的朋友可以參考下
    2022-10-10

最新評論