最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring EL表示式的運(yùn)用@Value說明

 更新時(shí)間:2020年04月26日 10:06:36   作者:xiaolyuh123  
這篇文章主要介紹了Spring EL表示式的運(yùn)用@Value說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

Spring EL表達(dá)式語(yǔ)言,支持在XML和注解中表達(dá)式,類是于JSP的EL表達(dá)式語(yǔ)言。

在Spring開發(fā)中經(jīng)常涉及調(diào)用各種資源的情況,包含普通文件、網(wǎng)址、配置文件、系統(tǒng)環(huán)境變量等,我們可以使用Spring的表達(dá)式語(yǔ)言實(shí)現(xiàn)資源的注入。

Spring主要在注解@value的參數(shù)中使用表達(dá)式。

本事咧演示一下情況:

注入普通字符串
注入操作系統(tǒng)屬性
注入表達(dá)式運(yùn)算結(jié)果
注入其他Bean的屬性
注入文件內(nèi)容
注入網(wǎng)址內(nèi)容
注入屬性文件(注意:用的是$符號(hào))

配置文件test.properties:

book.author=wangyunfei
book.name=spring boot

測(cè)試文件test.text:

你好!Spring boot

注入類:

@Configuration // 聲明當(dāng)前類是一個(gè)配置類,相當(dāng)于Spring配置的XML文件
// 包掃描,并排除了對(duì)BeanConfig的掃描
@ComponentScan(basePackages={"com.chenfeng.xiaolyuh"}, excludeFilters={@ComponentScan.Filter(type=FilterType.ASSIGNABLE_TYPE, value={BeanConfig.class, AopConfig.class})})
@PropertySource("classpath:test.properties")// 指定文件地址
public class ELConfig {
 @Value("注入普通字符串")// 注入普通字符串
 private String normal;
 
 @Value("#{systemProperties['os.name']}")// 注入操作系統(tǒng)屬性
 private String osName;
 
 @Value("#{T(java.lang.Math).random() * 100.0 }")// 注入表達(dá)式結(jié)果
 private double randomNumber; 
 
 @Value("#{demoELService.another}")// 注入其他Bean屬性
 private String fromAnother;
 
 @Value("classpath:test.txt")// 注入文件資源
 private Resource testFile;
 
 @Value("https://www.baidu.com")// 注入網(wǎng)址資源
 private Resource testUrl;
 
 @Value("${book.name}")// 注入配置文件【注意是$符號(hào)】
 private String bookName;
 
 @Autowired// Properties可以從Environment獲得
 private Environment environment;
 
// @Bean
// public static PropertySourcesPlaceholderConfigurer propertyConfigure() {
// return new PropertySourcesPlaceholderConfigurer();
// }
 
 @Override
 public String toString() {
 try {
 return "ELConfig [normal=" + normal 
  + ", osName=" + osName 
  + ", randomNumber=" + randomNumber 
  + ", fromAnother=" + fromAnother 
  + ", testFile=" + IOUtils.toString(testFile.getInputStream()) 
  + ", testUrl=" + IOUtils.toString(testUrl.getInputStream()) 
  + ", bookName=" + bookName
  + ", environment=" + environment.getProperty("book.name") + "]";
 } catch (IOException e) {
 e.printStackTrace();
 return null;
 }
 }
 
}

測(cè)試類:

public class SpringELTest {
 AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(ELConfig.class);
 
 @Test
 public void contextTest() {
 ELConfig elConfig = context.getBean(ELConfig.class);
 System.out.println(elConfig.toString());
 }
 
 @After
 public void closeContext() {
 context.close();
 }
 
}

補(bǔ)充知識(shí):yml、properties獲取pom自定義變量

pom變量:

<profiles>
 <profile>
  <!-- 本地環(huán)境 -->
  <id>dev</id>
  <properties>
   <profiles.env>dev</profiles.env>
   <jdbc-url>jdbc:mysql://127.0.0.1:3306/melab?allowMultiQueries=true&amp;useUnicode=true&amp;characterEncoding=utf-8&amp;serverTimezone=Asia/Shanghai</jdbc-url>
   <lcn-log-url>jdbc:mysql://127.0.0.1:3306/tx-manager?allowMultiQueries=true&amp;useUnicode=true&amp;characterEncoding=utf-8&amp;serverTimezone=Asia/Shanghai</lcn-log-url>
   <jdbc-user>root</jdbc-user>
   <jdbc-password>123456</jdbc-password>
  </properties>
 </profile>
</profiles>

yml獲取pom變量:

添加依賴:

<!-- https://mvnrepository.com/artifact/org.yaml/snakeyaml -->
<dependency>
 <groupId>org.yaml</groupId>
 <artifactId>snakeyaml</artifactId>
 <version>1.25</version>
</dependency>

獲取變量:

url: @jdbc-url@
lcn-log-url: @jdbc-url@
username: @jdbc-user@
password: @jdbc-password@
properties獲取pom變量:

build設(shè)置:

<build>
 <!--properties解析pom-->
 <pluginManagement>
  <plugins>
   <plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <configuration>
     <encoding>utf-8</encoding>
     <useDefaultDelimiters>true</useDefaultDelimiters>
    </configuration>
   </plugin>
  </plugins>
 </pluginManagement>
</build>

獲取變量:

spring.datasource.url=${jdbc-url}
spring.datasource.username=${jdbc-user}
spring.datasource.password=${jdbc-password}

以上這篇Spring EL表示式的運(yùn)用@Value說明就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java基礎(chǔ)之方法詳解

    java基礎(chǔ)之方法詳解

    這篇文章主要介紹了java基礎(chǔ)之方法詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • MybatisPlus使用@TableLogic實(shí)現(xiàn)邏輯刪除過程

    MybatisPlus使用@TableLogic實(shí)現(xiàn)邏輯刪除過程

    這篇文章主要介紹了MybatisPlus使用@TableLogic實(shí)現(xiàn)邏輯刪除過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • java字符流緩沖區(qū)詳解

    java字符流緩沖區(qū)詳解

    這篇文章主要為大家詳細(xì)介紹了java字符流緩沖區(qū)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • nas實(shí)現(xiàn)java開發(fā)的環(huán)境詳解

    nas實(shí)現(xiàn)java開發(fā)的環(huán)境詳解

    這篇文章主要為大家介紹了nas實(shí)現(xiàn)java開發(fā)的環(huán)境詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • spring Data jpa簡(jiǎn)介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    spring Data jpa簡(jiǎn)介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了spring Data jpa簡(jiǎn)介的相關(guān)資料,需要的朋友可以參考下
    2017-09-09
  • SpringBoot?Validation提示信息國(guó)際化配置方式

    SpringBoot?Validation提示信息國(guó)際化配置方式

    這篇文章主要介紹了SpringBoot?Validation提示信息國(guó)際化配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • SpringBoot集成Redisson實(shí)現(xiàn)分布式鎖的方法示例

    SpringBoot集成Redisson實(shí)現(xiàn)分布式鎖的方法示例

    這篇文章主要介紹了SpringBoot集成Redisson實(shí)現(xiàn)分布式鎖的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 在Java中使用基本的正則表達(dá)式

    在Java中使用基本的正則表達(dá)式

    這篇文章主要介紹了在Java中使用基本的正則表達(dá)式,本文通過簡(jiǎn)要的案例,說明了很多場(chǎng)景下的正則表達(dá)式的用法,列出了正則表達(dá)式匹配規(guī)則的表格,需要的朋友可以參考下
    2021-07-07
  • SpringBoot實(shí)現(xiàn)數(shù)據(jù)預(yù)熱的方式小結(jié)

    SpringBoot實(shí)現(xiàn)數(shù)據(jù)預(yù)熱的方式小結(jié)

    這里用到的數(shù)據(jù)預(yù)熱,就是在項(xiàng)目啟動(dòng)時(shí)將一些數(shù)據(jù)量較大的數(shù)據(jù)加載到緩存中(筆者這里用的Redis),那么在項(xiàng)目啟動(dòng)有哪些方式可以實(shí)現(xiàn)數(shù)據(jù)預(yù)熱呢,本文就來給大家講講幾種實(shí)現(xiàn)數(shù)據(jù)預(yù)熱的方式,需要的朋友可以參考下
    2023-09-09
  • 詳解在Java程序中運(yùn)用Redis緩存對(duì)象的方法

    詳解在Java程序中運(yùn)用Redis緩存對(duì)象的方法

    這篇文章主要介紹了在Java程序中運(yùn)用Redis緩存對(duì)象的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03

最新評(píng)論

青田县| 嘉荫县| 许昌县| 武安市| 万宁市| 乌鲁木齐县| 丹巴县| 神农架林区| 潞城市| 普格县| 无为县| 兰西县| 余干县| 赤水市| 宁晋县| 健康| 宿迁市| 绥化市| 德江县| 阿合奇县| 崇义县| 屯留县| 视频| 益阳市| 五河县| 河间市| 巨鹿县| 永清县| 资中县| 神农架林区| 扎兰屯市| 通许县| 林芝县| 五原县| 敦煌市| 文化| 洛南县| 和田市| 琼海市| 喀喇沁旗| 翼城县|