最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決SpringMvc中普通類注入Service為null的問題

 更新時(shí)間:2021年07月21日 09:14:21   作者:貓貓桑  
這篇文章主要介紹了解決SpringMvc中普通類注入Service為null的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

SpringMvc中普通類注入Service為null

場(chǎng)景:

使用Quartz定時(shí)器時(shí),普通的java類需要注入spring的service類,在調(diào)用時(shí)報(bào)錯(cuò)!

解決方式:

    /**
     * 定時(shí)獲取課程的service
     */
    @Autowired
    protected QuartzGetCourseService quartzGetCourseService = (QuartzGetCourseService) SpringContextUtil
            .getBean("quartzGetCourseService");
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
 
/**
 * 在Spring 注解中,普通類獲取@Service標(biāo)記的方法或者bean對(duì)象
 *
 */
@Component
public class SpringContextUtil implements ApplicationContextAware {
    private static ApplicationContext applicationContext = null;
 
    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        SpringContextUtil.applicationContext = applicationContext;
    }
 
    public static ApplicationContext getApplicationContext() {
        return applicationContext;
    }
 
    /**
     * 注意 bean name默認(rèn) = 類名(首字母小寫) 例如: A8sClusterDao = getBean("a8sClusterDao")
     *
     * @param name
     * @return
     * @throws BeansException
     */
    public static Object getBean(String name) throws BeansException {
        return applicationContext.getBean(name);
    }
 
    /**
     * 根據(jù)類名獲取到bean
     *
     * @param <T>
     * @param clazz
     * @return
     * @throws BeansException
     */
    @SuppressWarnings("unchecked")
    public static <T> T getBeanByName(Class<T> clazz) throws BeansException {
        try {
            char[] cs = clazz.getSimpleName().toCharArray();
            cs[0] += 32;// 首字母大寫到小寫
            return (T) applicationContext.getBean(String.valueOf(cs));
        }
        catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
 
    public static boolean containsBean(String name) {
        return applicationContext.containsBean(name);
    }
 
    public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException {
        return applicationContext.isSingleton(name);
    } 
}

調(diào)用結(jié)束,測(cè)試可以獲取Service.

spring之工具類使用service注入

一般需要在一個(gè)工具類中使用@Autowired 注解注入一個(gè)service。但是由于工具類方法一般都寫成static,所以直接注入就存在問題。

栗子:

@Component  
public class SmsController {    
    private static Logger logger = LoggerFactory.getLogger(SmsController.class);    
    @Autowired  
    private MessagesInfoService messagesInfoService;  
    private static SmsController smsController;     
      
    @PostConstruct  
    public void init() {  
        smsController = this;  
        smsController.messagesInfoService = this.messagesInfoService;    
    }  
  
    /**
     *短信歷史查詢接口(查詢某個(gè)時(shí)間段發(fā)送的短信)
     */
    @RequestMapping(value = "/queryMessage",method = RequestMethod.GET)
    public ModelAndView queryMessage{ 
        pager = messagesInfoService.findPager(map,5,pIndex);
        ModelAndView modelAndView = new ModelAndView("manage/jgdxgl/jgdx_qm");
        List<MessagesInfo> list = pager.getItem();
        modelAndView.addObject("pager",pager);
        modelAndView.addObject("list",list);
        return modelAndView
    }      
}  

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

相關(guān)文章

  • java代碼實(shí)現(xiàn)雙向鏈表

    java代碼實(shí)現(xiàn)雙向鏈表

    這篇文章主要為大家詳細(xì)介紹了java代碼實(shí)現(xiàn)雙向鏈表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • mybatis模糊查詢like語句該如何寫

    mybatis模糊查詢like語句該如何寫

    MyBatis模糊查詢通常使用LIKE關(guān)鍵字,結(jié)合concat函數(shù)拼接通配符%實(shí)現(xiàn),在MyBatis配置文件中,通過#{keyword}傳遞參數(shù),生成帶有通配符的查詢語句,MyBatis-Plus中,通過LambdaQueryWrapper類和like方法構(gòu)建模糊查詢條件,簡(jiǎn)化查詢操作
    2024-09-09
  • SpringCloud Gateway HttpWebHandlerAdapter鏈路調(diào)用請(qǐng)求流程介紹

    SpringCloud Gateway HttpWebHandlerAdapter鏈路調(diào)用請(qǐng)求流程介

    Spring Cloud Gateway旨在為微服務(wù)架構(gòu)提供一種簡(jiǎn)單有效的、統(tǒng)一的 API 路由管理方式。Spring Cloud Gateway 作為 Spring Cloud 生態(tài)系中的網(wǎng)關(guān),它不僅提供統(tǒng)一的路由方式,并且基于 Filter 鏈的方式提供了網(wǎng)關(guān)基本的功能,例如:安全、監(jiān)控/埋點(diǎn)和限流等
    2022-10-10
  • SpringCloud feign無法注入接口的問題

    SpringCloud feign無法注入接口的問題

    這篇文章主要介紹了SpringCloud feign無法注入接口的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Spring實(shí)戰(zhàn)之Bean的作用域singleton和prototype用法分析

    Spring實(shí)戰(zhàn)之Bean的作用域singleton和prototype用法分析

    這篇文章主要介紹了Spring實(shí)戰(zhàn)之Bean的作用域singleton和prototype用法,結(jié)合實(shí)例形式分析了Bean的作用域singleton和prototype相關(guān)使用方法及操作注意事項(xiàng),需要的朋友可以參考下
    2019-11-11
  • SpringBoot實(shí)現(xiàn)文件上傳下載實(shí)時(shí)進(jìn)度條功能(附源碼)

    SpringBoot實(shí)現(xiàn)文件上傳下載實(shí)時(shí)進(jìn)度條功能(附源碼)

    這篇文章主要為大家詳細(xì)介紹了SpringBoot如何實(shí)現(xiàn)文件上傳下載實(shí)時(shí)進(jìn)度條功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以學(xué)習(xí)一下
    2022-10-10
  • java 生成xml并轉(zhuǎn)為字符串的方法

    java 生成xml并轉(zhuǎn)為字符串的方法

    今天小編就為大家分享一篇java 生成xml并轉(zhuǎn)為字符串的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • jdbc+jsp實(shí)現(xiàn)簡(jiǎn)單員工管理系統(tǒng)

    jdbc+jsp實(shí)現(xiàn)簡(jiǎn)單員工管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了jdbc+jsp實(shí)現(xiàn)簡(jiǎn)單員工管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • SpringBoot統(tǒng)計(jì)、監(jiān)控SQL運(yùn)行情況的方法詳解

    SpringBoot統(tǒng)計(jì)、監(jiān)控SQL運(yùn)行情況的方法詳解

    這篇文章主要給大家介紹了關(guān)于SpringBoot統(tǒng)計(jì)、監(jiān)控SQL運(yùn)行情況的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-02-02
  • java 實(shí)現(xiàn)比較版本號(hào)功能

    java 實(shí)現(xiàn)比較版本號(hào)功能

    本篇文章主要介紹了java 中涉及到客戶端的系統(tǒng)經(jīng)常需要用到比較版本號(hào)的功能,并附小示例,希望能幫助需要的小伙伴
    2016-07-07

最新評(píng)論

天全县| 南漳县| 屯昌县| 繁峙县| 天峻县| 太湖县| 鹤峰县| 镇江市| 建平县| 依兰县| 葫芦岛市| 喀喇沁旗| 鄄城县| 新和县| 南汇区| 塔河县| 东乌珠穆沁旗| 曲靖市| 建平县| 甘德县| 云梦县| 崇仁县| 五大连池市| 萝北县| 育儿| 绵竹市| 黄骅市| 洪江市| 大竹县| 铜鼓县| 碌曲县| 象州县| 鱼台县| 綦江县| 兴业县| 瓦房店市| 汪清县| 襄垣县| 巴塘县| 喀喇| 措美县|