真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Springboot@Autowired無(wú)法注入怎么辦

這篇文章給大家分享的是有關(guān)Springboot @Autowired無(wú)法注入怎么辦的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

目前累計(jì)服務(wù)客戶近千家,積累了豐富的產(chǎn)品開(kāi)發(fā)及服務(wù)經(jīng)驗(yàn)。以網(wǎng)站設(shè)計(jì)水平和技術(shù)實(shí)力,樹(shù)立企業(yè)形象,為客戶提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷(xiāo)、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。成都創(chuàng)新互聯(lián)始終以務(wù)實(shí)、誠(chéng)信為根本,不斷創(chuàng)新和提高建站品質(zhì),通過(guò)對(duì)領(lǐng)先技術(shù)的掌握、對(duì)創(chuàng)意設(shè)計(jì)的研究、對(duì)客戶形象的視覺(jué)傳遞、對(duì)應(yīng)用系統(tǒng)的結(jié)合,為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。

特別提醒:一定要注意文件結(jié)構(gòu)

  WebappApplication 一定要在包的最外層,否則Spring無(wú)法對(duì)所有的類(lèi)進(jìn)行托管,會(huì)造成@Autowired 無(wú)法注入。

1.  添加工具類(lèi)獲取在 Spring 中托管的 Bean

(1)工具類(lèi)

package com.common;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
/**
 * @program: IPC_1P
 * @description: 獲取在spring中托管的bean
 * @author: johnny
 * @create: 2018-08-03 16:24
 **/
public class SpringContextUtil {
  private static ApplicationContext applicationContext; // Spring應(yīng)用上下文
  // 下面的這個(gè)方法上加了@Override注解,原因是繼承ApplicationContextAware接口是必須實(shí)現(xiàn)的方法
  public static void setApplicationContext(ApplicationContext applicationContext)
      throws BeansException {
    SpringContextUtil.applicationContext = applicationContext;
  }
  public static ApplicationContext getApplicationContext() {
    return applicationContext;
  }
  public static Object getBean(String name) throws BeansException {
    return applicationContext.getBean(name);
  }
  public static Object getBean(String name, Class requiredType)
      throws BeansException {
    return applicationContext.getBean(name, requiredType);
  }
  public static boolean containsBean(String name) {
    return applicationContext.containsBean(name);
  }
  public static boolean isSingleton(String name)
      throws NoSuchBeanDefinitionException {
    return applicationContext.isSingleton(name);
  }
  public static Class getType(String name)
      throws NoSuchBeanDefinitionException {
    return applicationContext.getType(name);
  }
  public static String[] getAliases(String name)
      throws NoSuchBeanDefinitionException {
    return applicationContext.getAliases(name);
  }
}

(2)使用

1)程序啟動(dòng)時(shí),實(shí)例化 SpringContextUtil

@SpringBootApplication
public class WebappApplication {
  private static ApplicationContext applicationContext;
  public static void main(String[] args) {
    applicationContext = SpringApplication.run(WebappApplication.class, args);
    //
    SpringContextUtil springContextUtil = new SpringContextUtil();
    springContextUtil.setApplicationContext(applicationContext);
    System.out.println("

2)在使用 @Service 的方法中,通過(guò)@Autowired 注入,使用SpringcontexUtil 獲取Bean上下文

@Autowired
  SenderService senderService;
public class Package_State {
  @Autowired
  SenderService senderService;
  @Component
  private Package_State() {
    senderService = (SenderService)SpringContextUtil.getBean("senderService");
  }
}

感謝各位的閱讀!關(guān)于“Springboot @Autowired無(wú)法注入怎么辦”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


分享標(biāo)題:Springboot@Autowired無(wú)法注入怎么辦
分享鏈接:
http://weahome.cn/article/jsoesc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部