欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring EL表示式的運用@Value說明

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

Spring EL表達式語言,支持在XML和注解中表達式,類是于JSP的EL表達式語言。

在Spring開發(fā)中經常涉及調用各種資源的情況,包含普通文件、網址、配置文件、系統環(huán)境變量等,我們可以使用Spring的表達式語言實現資源的注入。

Spring主要在注解@value的參數中使用表達式。

本事咧演示一下情況:

注入普通字符串
注入操作系統屬性
注入表達式運算結果
注入其他Bean的屬性
注入文件內容
注入網址內容
注入屬性文件(注意:用的是$符號)

配置文件test.properties:

book.author=wangyunfei
book.name=spring boot

測試文件test.text:

你好!Spring boot

注入類:

@Configuration // 聲明當前類是一個配置類,相當于Spring配置的XML文件
// 包掃描,并排除了對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']}")// 注入操作系統屬性
 private String osName;
 
 @Value("#{T(java.lang.Math).random() * 100.0 }")// 注入表達式結果
 private double randomNumber; 
 
 @Value("#{demoELService.another}")// 注入其他Bean屬性
 private String fromAnother;
 
 @Value("classpath:test.txt")// 注入文件資源
 private Resource testFile;
 
 @Value("https://www.baidu.com")// 注入網址資源
 private Resource testUrl;
 
 @Value("${book.name}")// 注入配置文件【注意是$符號】
 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;
 }
 }
 
}

測試類:

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();
 }
 
}

補充知識: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設置:

<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表示式的運用@Value說明就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 說明Java的傳遞與回調機制的代碼示例分享

    說明Java的傳遞與回調機制的代碼示例分享

    這篇文章主要介紹了說明Java的傳遞與回調機制的代碼示例分享,傳遞與回調機制是Java入門學習中的基礎知識,需要的朋友可以參考下
    2015-09-09
  • JAVA 對50取余數的五種方法試下

    JAVA 對50取余數的五種方法試下

    在數學計算中經常會遇到余數,本文主要介紹了JAVA 對50取余數的五種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-03-03
  • Spring AOP實現復雜的日志記錄操作(自定義注解)

    Spring AOP實現復雜的日志記錄操作(自定義注解)

    Spring AOP實現復雜的日志記錄操作(自定義注解),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Spring+Quartz配置定時任務實現代碼

    Spring+Quartz配置定時任務實現代碼

    這篇文章主要介紹了Spring+Quartz配置定時任務實現代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • 詳解Java如何判斷ResultSet結果集是否為空

    詳解Java如何判斷ResultSet結果集是否為空

    ResultSet 表示 select 語句的查詢結果集。這篇文章主要為大家詳細介紹了Java如何判斷ResultSet結果集是否為空,感興趣的可以了解一下
    2023-02-02
  • spring?boot入門之誕生背景及優(yōu)勢影響

    spring?boot入門之誕生背景及優(yōu)勢影響

    這篇文章主要為大家描述說明了介紹了spring?boot誕生的背景以及其產生的優(yōu)勢影響,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-03-03
  • SpringBoot?AOP?@Pointcut切入點表達式排除某些類方式

    SpringBoot?AOP?@Pointcut切入點表達式排除某些類方式

    這篇文章主要介紹了SpringBoot?AOP?@Pointcut切入點表達式排除某些類方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Jmeter參數化獲取序列數據實現過程

    Jmeter參數化獲取序列數據實現過程

    這篇文章主要介紹了Jmeter參數化獲取序列數據實現過程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • Java結合uniapp實現驗證碼功能的示例詳解

    Java結合uniapp實現驗證碼功能的示例詳解

    UniApp 是一個基于 Vue.js 的跨平臺應用開發(fā)框架,允許開發(fā)者使用統一的代碼庫來構建多平臺應用,這篇文章將給大家介紹Java結合uniapp實現驗證碼功能,文中通過詳細的代碼示例講解的非常詳細,需要的朋友可以參考下
    2024-07-07
  • Java string.trim()究竟去掉了什么

    Java string.trim()究竟去掉了什么

    這篇文章主要介紹了Java string.trim()究竟去掉了什么,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12

最新評論