日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring @Value批注

發布時間:2023/12/3 javascript 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring @Value批注 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

介紹:

Spring @Value批注用于將值注入變量和方法參數。 我們可以讀取spring環境變量或系統變量。 它還支持SpEL。

在本快速教程中,我們將探討如何使用Spring @Value批注。

設定:

讓我們首先在app.properties文件中定義一些屬性:

user.first.name=Sam user.stocks=50 user.address=California user.preferences=A,B,C products.count={P1: '3', P2: '10', P3: '5'}

這些是本教程中用于示例的屬性。

另外,讓我們快速定義AppConfiguration類:

@Configuration @PropertySource("classpath:app.properties") public class AppConfiguration {... }

Spring

我們可以使用@Value注釋將默認值分配給類屬性:

@Value("10") private int value;@Value("Hello World") private String msg;

請注意,它僅接受String參數,但是在值注入期間,傳入的值將轉換為適當的類型。

讀取Spring環境變量:

我們可以使用@Value注釋來讀取Spring環境變量:

@Value("${user.first.name}") private String userFirstName;

我們還可以閱讀值列表:

@Value("${user.preferences}") private String[] userPreferences;

現在,讓我們嘗試使用@Value注釋讀取值'products.count'的 映射 :

@Value("#{${products.count}}") private Map<String, Integer> productsCount;

要從地圖中獲取特定鍵的值 ,我們將使用:

@Value("#{${products.count}.P1}") private Integer p1Count;

讀取系統變量:

使用Spring @Value ,我們還可以直接讀取系統變量:

@Value("${java.home}") private String javaHome;

或使用SpEL:

@Value("#{systemProperties['java.home']}") private String javaHome;

分配默認值:

如果我們希望在缺少屬性的情況下分配默認值怎么辦? 是的,我們可以使用Spring @Value批注的默認構造來做到這一點:

@Value("${user.stocks:30}") private int stockCount;

在此,僅當屬性文件中缺少屬性“ user.stocks”時 ,才會將默認值30分配給stockCount 。

使用SpEL時,我們還可以分配一個默認值:

@Value("#{systemProperties['abc'] ?: 'default value'}") private String unknownSystemProperty;

在方法中注入值:

除了基于字段的注入外,我們還可以在方法上使用@Value注釋:

@Value("${user.first.name}") public void setUserName(String userName) {this.userName = userName; }

如果我們在方法上使用@Value批注,則其所有參數都將映射到相同的值。

如果要向不同的參數注入不同的參數,則可以將@Value注釋與方法參數一起使用:

public void setUserDetails(@Value("${user.first.name}")String userName,@Value("${user.address}") String address) {this.userName = userName;this.address = address; }

結論:

在本教程中,我們探討了使用@Value注釋注入屬性值的不同方法。 我們可以將@Value注釋與字段或方法一起使用。

翻譯自: https://www.javacodegeeks.com/2019/05/spring-value-annotation.html

總結

以上是生活随笔為你收集整理的Spring @Value批注的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。