麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Java > 正文

解決Springboot @Autowired 無法注入問題

2024-07-14 08:41:57
字體:
來源:轉載
供稿:網友

特別提醒:一定要注意文件結構

  WebappApplication 一定要在包的最外層,否則Spring無法對所有的類進行托管,會造成@Autowired 無法注入。

1.  添加工具類獲取在 Spring 中托管的 Bean

  (1)工具類

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應用上下文  // 下面的這個方法上加了@Override注解,原因是繼承ApplicationContextAware接口是必須實現的方法  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)程序啟動時,實例化 SpringContextUtil

@SpringBootApplicationpublic 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 的方法中,通過@Autowired 注入,使用SpringcontexUtil 獲取Bean上下文

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

總結

以上所述是小編給大家介紹的解決Springboot @Autowired 無法注入問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久午夜神器 | 日本一区二区久久久 | 久久嗨 | 久久久aa | 青青草成人影视 | 免费毛片播放 | 黑人一区二区三区四区五区 | 午夜影视一区二区 | 久久成人在线观看 | 国产99久久久久久免费看农村 | 激情宗合网 | 宅男噜噜噜66国产在线观看 | 康妮卡特欧美精品一区 | 日韩黄a | 亚洲一区二区在线视频 | 亚洲乱码精品久久久久 | 国产成人精品网站 | 久久久久亚洲视频 | 久久精品日本一区 | 操碰在线视频 | 成人三级视频网站 | 成人精品一区二区 | 在线亚洲综合 | 国产精品爱久久久久久久 | 黄色大片高清 | 欧美va亚洲| 国产精品久久久久久久久久了 | 亚a在线| 日本羞羞影院 | 91精品久久香蕉国产线看观看 | 免费国产网站 | 免费在线观看一级片 | 欧美不卡视频在线观看 | 久久久久久久久久久综合 | 国产精品亚洲综合一区二区三区 | 蜜桃av鲁一鲁一鲁一鲁 | 欧美成人免费一级 | 国产一区二区三区视频在线观看 | chinesexxx少妇露脸 | 日韩色视频| 免费午夜网站 |