91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Springboot如何在有參構造方法類中使用@Value注解取值

發布時間:2020-06-28 16:57:32 來源:億速云 閱讀:1400 作者:清晨 欄目:開發技術

小編給大家分享一下Springboot如何在有參構造方法類中使用@Value注解取值,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討方法吧!

我們在Springboot中經常使用@Value注解來獲取配置文件中的值,像下面這樣

@Component
class A {
   @Value("${user.value}")
   private String configValue;
   
   public void test() {
      System.out.println(configValue);
   }
}

但有時我們需要這個類擁有一個有參的構造方法,比如

@Component
class A {
   @Value("${user.value}")
   private String configValue;

   private String s;

   public A(String s) {
      this.s = s;
   }
   public void test() {
      System.out.println(s);
      System.out.println(configValue);
   }
}

要使@Value生效,必須把Bean交給Spring進行管理,而不能使用new去實例化對象,否則@Value取值為NULL。我們一般使用@Autowired都是默認注入無參的構造方法,要想注入有參的構造方法,我們需要構建Config類:

@Configuration
public class AConfig {
  @Bean(name="abc")
  DataOpration abcA() {
    return new A("abc");
  }
}

然后創建SpringUtil類

@Component
public class SpringUtil implements ApplicationContextAware {

  private static ApplicationContext applicationContext;

  @Override
  public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
    if(SpringUtil.applicationContext == null) {
      SpringUtil.applicationContext = applicationContext;
    }
  }

  public static ApplicationContext getApplicationContext() {
    return applicationContext;
  }

  //通過name獲取 Bean.
  public static Object getBean(String name){
    return getApplicationContext().getBean(name);
  }
}

在調用時,只需要獲取到對應的Bean

A a = (A) SpringUtil.getBean("abc");
a.test();

就可以同時獲取到配置文件中的值和傳入的參數。

看完了這篇文章,相信你對Springboot如何在有參構造方法類中使用@Value注解取值有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

香格里拉县| 阿克陶县| 天门市| 涞水县| 潢川县| 海晏县| 湟中县| 蒲江县| 乐业县| 罗山县| 陈巴尔虎旗| 广河县| 泉州市| 永昌县| 武汉市| 巩留县| 武平县| 美姑县| 惠水县| 朝阳区| 牡丹江市| 麻城市| 工布江达县| 东安县| 凯里市| 余庆县| 桂林市| 达日县| 易门县| 黄平县| 祁东县| 阜宁县| 乌海市| 宽甸| 桑日县| 台前县| 开原市| 高淳县| 博客| 吉首市| 湟中县|