全注解下的SpringIoc 续8-使用Spring EL表达式

什么是Spring EL表达式呢,如下代码所示:

@Value("${user.id}")
    private Long id;

而这里的“${user.id}”,便是Spring EL表达式。
当然了,如果Spring EL表达式仅限于此,那也不会专门用一个篇幅来介绍它了,上面的例子只是它最基本的用法,下面让我们来一起看看另外的用法。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
以上的这些都是书中的原话,接下来让我们创建一个类,尝试一下:

@Component
@Data
public class UserSource {

    private Float pi = 3.14f;

    private String name = "user_source";

    private String address = "com.zzm.springeltest.bean";

    private String nullStr;
}

public class Utils {

    public static String way(String str){
        return "Util=>" + str;
    }
}




@Component
@Data
@Slf4j
public class UserEl {
    @Value("${user.id}")
    private Long id;

    @Value("#{T(System).currentTimeMillis()}")
    private Long initTime;

    @Value("#{'使用Spring EL赋值的字符串'}")
    private String desc;

    @Value("#{9.3E3}")
    private Double salary;

    @Value("#{3.14}")
    private Float pi;

    @Value("#{userSource.name}")
    private String name;

    @Value("#{userSource.nullStr?.toUpperCase()}")
    private String address;

    @Value("#{6+8}")
    private Integer run;

    @Value("#{userSource.pi == 3.14f}")
    private Boolean piFlag;

    @Value("#{userSource.name eq 'user_source'}")
    private String strFlag;

    @Value("#{userSource.name + '连接字符串'}")
    private String strApp;

    @Value("#{userSource.pi > 3 ? '大于圆周率' : '小于圆周率'}")
    private String piEq;

    @Value("#{T(com.zzm.springeltest.util.Utils).way(userSource.name)}")
    private String wayRes;

    @PreDestroy
    public void myDestroy(){
        log.warn("UserEl=》{}", this.toString());
    }

然后我们启动应用,随后关闭应用(因为我们自定义了bean的销毁方法myDestroy,用来打印出bean的信息),可以看到如下日志:
在这里插入图片描述
好了,今天就先到这里了,眼过千遍不如手过一遍,赶紧去自己尝试一下吧。。。。拜拜

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值