springboot el表达式
***********************
el表达式:#{}
使用字面量:#{1}、#{' '}
使用bean的属性:#{bean.id}
使用bean的方法:#{bean.getId()}
使用类的静态常量:#{T(Math).PI}
使用类的静态方法:#{T(Math).random()}
数值计算:#{1+1}
字符串拼接:#{'hello '+'world'}
***********************
示例
***************
pojo 层
Person
@Data
@Component("person")
public class Person {
@Value("#{'瓜田李下'}")
private String name;
@Value("#{20}")
private Integer age;
}
People
@Data
@Component("people")
public class People {
@Value("#{person.name}")
private String name;
@Value("#{person.age}")
private Integer age;
}
Test
@Data
@Component
public class Test {
@Value("#{T(System).currentTimeMillis()}")
private Long num;
@Value("#{T(Math).PI}")
private Double pi;
@Value("#{'hello '+'world'}")
private String str;
@Value("#{1>2}")
private Boolean b1;
}
***************
controller 层
HelloController
@RestController
public class HelloController {
@Resource
private Person person;
@Resource
private People people;
@Resource
private Test test;
@RequestMapping("/hello")
public String hello(){
System.out.println(person);
System.out.println(people);
System.out.println(test);
return "success";
}
}
***********************
控制台输出
Person(name=瓜田李下, age=20)
People(name=瓜田李下, age=20)
Test(num=1576413130871, pi=3.141592653589793, str=hello world, b1=false)