美文网首页
Springboot实战系列之@Value注解的使用心得

Springboot实战系列之@Value注解的使用心得

作者: 程序员小白成长记 | 来源:发表于2020-09-02 17:10 被阅读0次

    前言

    在工作中使用springboot经常有属性注入的场景,下面说一下有默认值和无默认值两种写法的不同

    1,有默认值

    @Value("${app.center.registered:true}")
    private boolean appCenterRegistered;
    

    这中是有默认值的写法,默认是分号后的值,这里为true,但是如果在配置文件中(application.properties 或 application.yml)中设置了appCenterRegistered的值,就会按照配置文件中的值。
    如在application.properties中设置
    app.center.registered:false
    这样appCenterRegistered的值会为false

    demo

    @RestController
    public class ValidTest {
        @Value("${app.center.registered:true}")
        private boolean appCenterRegistered;
    
        @RequestMapping(value="/valid/test", method = RequestMethod.GET)
        @ResponseBody
        public String test(@RequestParam("phone") String phone){
            return String.valueOf(appCenterRegistered);
        }
    }
    

    2,无默认值

    @Value("${app.center.registered}")
    private boolean appCenterRegistered;
    

    这种是无默认值的写法,这种写法要求必须在配置文件(applicaiton.properties或application.yal)中添加该属性的键值对,否则就会报错
    Could not resolve placeholder 'app.center.registered' in value "${app.center.registered}

    相关文章

      网友评论

          本文标题:Springboot实战系列之@Value注解的使用心得

          本文链接:https://www.haomeiwen.com/subject/pwuwsktx.html