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

歡迎訪問 生活随笔!

生活随笔

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

javascript

Spring Boot系列四 Spring @Value 属性注入使用总结一

發布時間:2025/3/21 javascript 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot系列四 Spring @Value 属性注入使用总结一 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

@Value注入
不通過配置文件的注入屬性的情況
通過@Value將外部的值動態注入到Bean中,使用的情況有:

注入普通字符串
注入操作系統屬性
注入表達式結果
注入其他Bean屬性:注入beanInject對象的屬性another
注入文件資源
注入URL資源

詳細代碼見:

@Value("normal") private String normal; // 注入普通字符串@Value("#{systemProperties['os.name']}") private String systemPropertiesName; // 注入操作系統屬性@Value("#{ T(java.lang.Math).random() * 100.0 }") private double randomNumber; //注入表達式結果@Value("#{beanInject.another}") private String fromAnotherBean; // 注入其他Bean屬性:注入beanInject對象的屬性another,類具體定義見下面@Value("classpath:com/hry/spring/configinject/config.txt") private Resource resourceFile; // 注入文件資源@Value("http://www.baidu.com") private Resource testUrl; // 注入URL資源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
注入其他Bean屬性:注入beanInject對象的屬性another

@Component
public class BeanInject {
@Value(“其他Bean的屬性”)
private String another;

public String getAnother() {return another; }public void setAnother(String another) {this.another = another; }

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
注入文件資源:com/hry/spring/configinject/config.txt

test configuration file
1
測試類:

@SpringBootApplication
public class Application {

public static void main(String[] args) {SpringApplication.run(Application.class, args); }

}

@RunWith(SpringRunner.class)
@SpringBootTest(classes=Application.class)
public class ConfiginjectApplicationTest {
@Autowired
private BaseValueInject baseValueInject;

@Test public void baseValueInject(){System.out.println(baseValueInject.toString()); }

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
運行測試類

normal=normal
systemPropertiesName=Windows 10
randomNumber=35.10603794922444
fromAnotherBean=其他Bean的屬性
resourceFile=test configuration file
testUrl=…百度一下,你就知道…略
1
2
3
4
5
6
通過配置文件的注入屬性的情況
通過@Value將外部配置文件的值動態注入到Bean中。配置文件主要有兩類:

application.properties。application.properties在spring boot啟動時默認加載此文件
自定義屬性文件。自定義屬性文件通過@PropertySource加載。@PropertySource可以同時加載多個文件,也可以加載單個文件。如果相同第一個屬性文件和第二屬性文件存在相同key,則最后一個屬性文件里的key啟作用。加載文件的路徑也可以配置變量,如下文的${anotherfile.configinject},此值定義在第一個屬性文件config.properties
第一個屬性文件config.properties內容如下:
${anotherfile.configinject}作為第二個屬性文件加載路徑的變量值

book.name=bookName
anotherfile.configinject=placeholder
1
2
第二個屬性文件config_placeholder.properties內容如下:

book.name.placeholder=bookNamePlaceholder
1
下面通過@Value(“${app.name}”)語法將屬性文件的值注入bean屬性值,詳細代碼見:

@Component
// 引入外部配置文件組:KaTeX parse error: Expected group after '_' at position 175: …iginject/config_?{anotherfile.configinject}.properties"})
public class ConfigurationFileInject{
@Value("${app.name}")
private String appName; // 這里的值來自application.properties,spring boot啟動時默認加載此文件

@Value("${book.name}") private String bookName; // 注入第一個配置外部文件屬性@Value("${book.name.placeholder}") private String bookNamePlaceholder; // 注入第二個配置外部文件屬性@Autowired private Environment env; // 注入環境變量對象,存儲注入的屬性值public String toString(){StringBuilder sb = new StringBuilder();sb.append("bookName=").append(bookName).append("\r\n").append("bookNamePlaceholder=").append(bookNamePlaceholder).append("\r\n").append("appName=").append(appName).append("\r\n").append("env=").append(env).append("\r\n")// 從eniroment中獲取屬性值.append("env=").append(env.getProperty("book.name.placeholder")).append("\r\n");return sb.toString(); }

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
測試代碼:
Application.java同上文

@RunWith(SpringRunner.class)
@SpringBootTest(classes=Application.class)
public class ConfiginjectApplicationTest {
@Autowired
private ConfigurationFileInject configurationFileInject;

@Test public void configurationFileInject(){System.out.println(configurationFileInject.toString()); }

}
1
2
3
4
5
6
7
8
9
10
11
12
測試運行結果:

bookName=bookName
bookNamePlaceholder=bookNamePlaceholder
appName=appName
env=StandardEnvironment {activeProfiles=[], defaultProfiles=[default], propertySources=[Inlined Test Properties,systemProperties,systemEnvironment,random,applicationConfig: [classpath:/application.properties],class path resource [com/hry/spring/configinject/config_placeholder.properties],class path resource [com/hry/spring/configinject/config.properties]]}
env=bookNamePlaceholder

總結

以上是生活随笔為你收集整理的Spring Boot系列四 Spring @Value 属性注入使用总结一的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 九色影院 | 色七七桃花综合影院 | 国产精品美女毛片真酒店 | 九九九九九热 | 91成人免费看 | 制服丝袜在线看 | 国产精品偷乱一区二区三区 | 亚洲av日韩av永久无码下载 | 国外成人性视频免费 | 日韩av电影手机在线观看 | 国内毛片毛片毛片毛片毛片 | аⅴ资源新版在线天堂 | 美国伊人网 | 大奶一区二区 | 本道久久 | 日本人六九视频 | 国产成人在线观看免费 | julia一区二区中文久久97 | av第一福利 | 性视频黄色 | 国产a级片视频 | 91成人精品视频 | 东北熟女一区二区三区 | 中文字幕视频免费观看 | 欧美色欧美| 国语对白在线观看 | 落日余晖 | 男人天堂网站 | 黄色片视频网站 | 日韩欧美自拍偷拍 | 91精品国产91久久久久久久久久久久 | 大胸奶汁乳流奶水出来h | 久久手机免费视频 | 肥熟女一区二区三肥熟女 | 欧美视频一二区 | 在线观看不卡av | 开心激情综合 | 欧美精品在线观看一区二区 | av资源部 | 我要看免费的毛片 | 午夜久久久久久 | 老熟妇仑乱视频一区二区 | 狠狠干干干 | 手机av资源 | www国产精品视频 | 可以免费观看av的网站 | 午夜影院一区二区 | 精品久久久久久久久久岛国gif | 波多野结衣高清视频 | 少妇一级视频 | 中国老妇性视频 | 日韩中文字幕视频在线观看 | 欧美一区二区福利 | 超碰最新网址 | 成人看片免费 | 免费黄色小视频网站 | 在线看黄网 | 亚洲视频中文字幕在线观看 | 亚洲综合在线视频 | 四虎影院在线 | 国产主播一区 | 激情av中文字幕 | 国产男女猛烈无遮挡免费视频 | 美国av毛片| 狠狠狠狠狠狠干 | 国产亚洲色婷婷久久 | 亚洲午夜久久久久久久久 | 在线看v片 | 国产精品扒开腿做爽爽爽男男 | 亚洲自拍偷拍一区二区 | 九色视频91| 91国产在线免费观看 | 一区二区精品国产 | 在线色| v片在线看 | 无码人妻一区二区三区在线视频 | 韩国无码一区二区三区精品 | 免费在线播放av | 亚洲成av人片在线观看 | 日韩成人综合网 | 寻找身体恐怖电影免费播放 | 国产欧美日韩 | 一本一道av | 一本色道久久亚洲综合精品蜜桃 | 国产一区二区三区四 | 在线午夜电影 | se在线观看 | 潘金莲一级淫片免费放动漫 | 色翁荡息又大又硬又粗又爽 | 久热这里有精品 | 国语对白做受69 | 一区二区福利电影 | 人av在线 | 精品一区二区欧美 | 日韩色吧 | 色婷婷综合成人av | 日美韩av | 黄色一几片 | 日本免费高清一区二区 |