编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

Spring Boto 配置与SpEL(springboot有几种配置方法)

wxchong 2024-08-22 23:44:21 开源技术 18 ℃ 0 评论

SpEL(Spring Expression Language)是一种功能非常强大的表达式语言,可用于在运行时查询和操作对象。可以用在xml配置文件或者注解上,在Spring Bean创建时生效。

本章节,我们来看看SpEL在Spring Boot配置中如何使用。

直接上个代码示例吧,其他的,可以参考

https://docs.spring.io/spring/docs/4.3.10.RELEASE/spring-framework-reference/html/expressions.html


@Data
@Configuration
@PropertySource(name = "spelProperties", value = "classpath:spelconfig.properties", encoding = "utf-8")
@ToString
public class SpELConfig {

    @Value("#{'${user.names}'.split(',')}") // list
    private List<String> userNames;

    @Value("#{${user.ages}}") // map
    private Map<String, Integer> ages;

    @Value("#{'${user.names}'.split(',')[0]}") // list.get(0)
    private String firstName;

    @Value("#{${user.ages}.zhangsan}")
    private String age;

    @Value("#{${user.ages}['fff'] ?: 44}") // ?和:之间不能有空格
    private String fffAge;

    @Value("#{systemProperties['java.home']}") // java home
    private String javeHome;
}
// spelconfig.properties
user.names=zhangsan,lisi,wangwu
user.ages={zhangsan: 20, lisi: 30, wangwu: 40}

打印结果:

SpELConfig(userNames=[zhangsan, lisi, wangwu], ages={zhangsan=20, lisi=30, wangwu=40}, firstName=zhangsan, age=20, fffAge=44, javeHome=/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home/jre)

伙伴们,行动起来,加油!!!

源码地址:Spring Boot Learning: 学习springboot中的各个组件,编写示例工程 运行spring-boot-config工程。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表