javael表达式实现计算器_SpringEL表⽰式的运⽤@Value说明Spring EL表达式语⾔,⽀持在XML和注解中表达式,类是于JSP的EL表达式语⾔。
在Spring开发中经常涉及调⽤各种资源的情况,包含普通⽂件、⽹址、配置⽂件、系统环境变量等,我们可以使⽤Spring的表达式语⾔实现资源的注⼊。
Spring主要在注解@value的参数中使⽤表达式。
本事咧演⽰⼀下情况:
注⼊普通字符串
注⼊操作系统属性
注⼊表达式运算结果
注⼊其他Bean的属性
注⼊⽂件内容
注⼊⽹址内容
注⼊属性⽂件(注意:⽤的是$符号)
配置⽂件test.properties:
book.author=wangyunfei
book.name=spring boot
测试⽂件:
你好!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("")// 注⼊⽂件资源
private Resource testFile;
@Value("www.baidu")// 注⼊⽹址资源
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=" + InputStream())
+ ", testUrl=" + InputStream())
+ ", bookName=" + bookName
+ ", environment=" + Property("book.name") + "]";
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
}
测试类:
public class SpringELTest {
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(ELConfig.class); @Test
public void contextTest() {
ELConfig elConfig = Bean(ELConfig.class);
System.out.String());
}
@After
public void closeContext() {
context.close();
}
}
springboot aop补充知识:yml、properties获取pom⾃定义变量
pom变量:
dev
dev
jdbc:mysql://127.0.0.1:3306/melab?allowMultiQueries=true&useUnicode=true&characterEncoding=utf-
8&serverTimezone=Asia/Shanghai
jdbc:mysql://127.0.0.1:3306/tx-manager?allowMultiQueries=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
root
123456
yml获取pom变量:
添加依赖:
org.yaml
snakeyaml
1.25
获取变量:
url: @jdbc-url@
lcn-log-url: @jdbc-url@
username: @jdbc-user@
password: @jdbc-password@
properties获取pom变量:
build设置:
maven-resources-plugin
utf-8
true
获取变量:
spring.datasource.url=${jdbc-url}
spring.datasource.username=${jdbc-user}
spring.datasource.password=${jdbc-password}
以上这篇Spring EL表⽰式的运⽤@Value说明就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持我们。时间: 2020-04-25

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。