美文网首页
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