美文网首页
Spring @Value("#{}")和@Value("${}

Spring @Value("#{}")和@Value("${}

作者: 赵哥窟 | 来源:发表于2022-03-23 16:58 被阅读0次

    突然发现@Value("#{}") 这两者的区别

    一.@Value("#{}")

    其实是SpEL表达式的值,可以表示常量的值,或者获取bean中的属性

    @RestController
    @RequestMapping("/test")
    @Component
    public class TestController {
        
        @Value("#{1}")
        private int number; //获取数字 1
        
        @Value("#{'Spring Expression Language'}") //获取字符串常量
        private String str;
        
        @Value("#{dataSource.url}") //获取bean的属性
        private String jdbcUrl;
        
        @Autowired
        private DataSourceTransactionManager transactionManager;
     
        @RequestMapping("value")
        public String valueTest() throws FileNotFoundException{
            System.out.println(number);
            System.out.println(str);
            System.out.println(jdbcUrl);
            return "success";
        }
    }
    

    二.@Value("${}")
    用于获取配置文件中的属性值,通常用于获取写在application.properties中的内容,例如在配置文件中:

    jdbc.driverClass=com.mysql
    jdbc.url=3306@127.0.0.1
    jdbc.user=admin
    

    则在类中可以通过@Value(""${jdbc.url})来获取相应的值

    相关文章

      网友评论

          本文标题:Spring @Value("#{}")和@Value("${}

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