我们可以使用
@Value("${url}")
private String url;
当我们在 application.properties 文件中定义了属性 url 时。当我们没有 application.properties 时,如何将属性绑定到 @Value 注释。我们在应用程序启动期间拥有来自服务器的属性。带来的就像
Properties properties = new Properties();
properties.load(new FileInputStream(System.getProperty("propertiesFile", "config.properties")));
我的目的是填充来自外部源的属性,如 url、用户名等,而不是 application.properties
值注释实际上尝试从 Spring 的环境抽象中解析占位符 ${url},如文档中所述
属性值可以使用@Value注释直接注入到您的bean中,通过Spring的Environment抽象访问,或者通过@ConfigurationProperties绑定到结构化对象。
环境不仅从应用程序属性文件中获取属性,还从操作系统环境变量等中获取属性。下面的链接包含 Spring Boot 可以读取的属性源的完整列表以及优先顺序。 Spring boot 外部化配置
所以我猜你的 URL 可以被读取,因为它也被设置为具有相同名称的系统属性。