国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Spring讀取配置文件屬性實(shí)現(xiàn)方法

瀏覽:82日期:2023-09-09 16:56:43

一 前言

本篇內(nèi)容包括spring 運(yùn)行時(shí)讀取配置文件的多種方式和SpEl表達(dá)式入門基礎(chǔ);

二運(yùn)行時(shí)讀取配置文件

spring 運(yùn)行時(shí)讀取配置文件值提供了2種方式

屬性占位符(Property placeholder)。

Spring表達(dá)式語言(SpEL)

2.1 讀取外部配置文件

使用 @PropertySource 注解可以讀取導(dǎo)classpath下配置文件屬性;參數(shù)如下

value是個(gè)字符串?dāng)?shù)組; ignoreResourceNotFound;如果設(shè)置為true, 配置文件未找到時(shí)不會(huì)報(bào)錯(cuò); encoding;指定字符集

首先resource 目錄下創(chuàng)建配置文件zszxz.properties ; 內(nèi)容如下

zszxz.name = zszxzzszxz.point = share

其次讀取配置文件配置類如下

@Configuration@PropertySource(value = {'classpath:zszxz.properties'},encoding = 'UTF-8')@Componentpublic class EnvironmentProperty { // 注入環(huán)境 @Autowired private Environment environment; public void outputProperty(){ System.out.println(environment.getProperty('zszxz.name')); }}

最后通過測(cè)試類調(diào)用outputProperty()輸出配置文件中屬性的值

@RunWith(SpringJUnit4ClassRunner.class)//創(chuàng)建spring應(yīng)用上下文@ContextConfiguration(classes= EnvironmentProperty.class)//加載配置類public class PropertyTest { @Autowired EnvironmentProperty environmentProperty; @Test public void test(){ // zszxz environmentProperty.outputProperty(); }}

Tip 也可以使用@PropertySources 注解,其value是 @PropertySource類型的數(shù)組;

其中 EnvironmentProperty 獲取主要屬性方法如下

String getProperty(String key); 通過key 取值 String getProperty(String key, String defaultValue); 獲取值,沒有則使用默認(rèn)值; T getProperty(String key, Class var2); 獲取值,指定返回類型; T getProperty(String key, Class var2, T defaultValue);獲取值,指定返回類型,指定默認(rèn)值; String getRequiredProperty(String key) ; key必須為非空否則拋出IllegalStateException異常

2.2 使用占位符獲取配置文件

使用注解@Value獲取配置文件屬性值; 其中值使用占位符('${........}')方式;

配置類示例

@Configuration@PropertySource(value = {'classpath:zszxz.properties'},encoding = 'UTF-8')@Componentpublic class EnvironmentProperty { @Value('${zszxz.point}') private String point; public void outputPoint(){ System.out.println(point); }}

測(cè)試示例

@RunWith(SpringJUnit4ClassRunner.class)//創(chuàng)建spring應(yīng)用上下文@ContextConfiguration(classes= EnvironmentProperty.class)//加載配置類public class PropertyTest { @Autowired EnvironmentProperty environmentProperty; @Test public void testPoint(){ // share environmentProperty.outputPoint(); }}

2.3 SpEl表達(dá)式

Spring表達(dá)式語言(Spring Expression Language,SpEL)是一種靈活的表達(dá)式語言,能夠以簡(jiǎn)潔的方式將值裝配到bean屬性或者構(gòu)造器參數(shù)中,此過程中能夠計(jì)算表達(dá)式獲取計(jì)算值;使用@Valjue注解時(shí),SpEL表達(dá)式要放到“#{......}”之中;

獲取bean示例

@Value('#{environmentProperty}') private EnvironmentProperty getBean; @Test public void testBean(){ // com.zszxz.property.EnvironmentProperty$$EnhancerBySpringCGLIB$$8e54e11f@1d9b7cce System.out.println(getBean); }

獲取方法示例

@Value('#{environmentProperty.getStr()}') private String getMethod; @Test public void testMethod(){ // 知識(shí)追尋者 System.out.println(getMethod); }

獲取屬性示例

注意點(diǎn):username字段必須是public

@Value('#{environmentProperty.username}') private String getField; @Test public void testField(){ // 知識(shí)追尋者 System.out.println(getField); }

獲取靜態(tài)方法示例

其中T()表示運(yùn)算會(huì)得到一個(gè)Class對(duì)象;

@Value('#{T(java.lang.Math).random()}') private double number; @Test public void testStatic() { // 0.9205474938572363 System.out.println(number); }

非空判定示例

其中? 表示非空判定

@Value('#{environmentProperty.username?.toString()}') private String notNull; @Test public void testNotNUll() { // 知識(shí)追尋者 System.out.println(notNull); }

支持運(yùn)算符如下

算術(shù)運(yùn)算 + 、 - 、 * 、 / 、 % 、 ^ 比較運(yùn)算 < 、 > 、 == 、 <= 、 >= 、 lt 、 gt 、 eq 、 le 、 ge 邏輯運(yùn)算 and 、 or 、 not 、 │ 條件運(yùn)算 ?: (ternary) 、 ?: (Elvis) 正則表達(dá)式 matches

更多內(nèi)容讀者自行參考官網(wǎng)學(xué)習(xí)

https://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/expressions.html

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 日韩亚洲一区二区三区 | 久久精品视频1 | 日本精品视频一视频高清 | 国内一区二区 | 亚洲国产午夜精品理论片的软件 | 中文字幕视频在线 | 久久精品国产亚洲高清 | 久久男人天堂 | 久久三级国产 | 欧美日韩中文一区二区三区 | 久久中文字幕久久久久 | 欧美日韩偷拍自拍 | 免费看a级 | 午夜性爽视频男人的天堂在线 | 国产女人自拍 | 中文字幕亚洲区 | 我要看a级毛片 | 一级欧美| 91亚洲国产成人久久精品网址 | 亚洲人成在线播放网站 | 日韩精品网 | 久久综合中文字幕一区二区三区 | 在线成人亚洲 | 午夜dj视频完整社区 | 国产欧美日韩精品第二区 | 精品国产免费人成高清 | 国内自拍亚洲 | 国产高清精品一级毛片 | 亚洲精品综合一二三区在线 | 182福利视频 | 亚洲精品一区二区三区国产 | 毛片一区二区三区 | 一区不卡在线观看 | 久久久久欧美精品观看 | 美女黄色在线看 | 日本aaaa精品免费视频 | 久久久在线 | 好看欧美视频高清va | 欧美69| 日本巨乳中文字幕 | 国产精品久久一区 |