Spring @Value returns <empty>

Spring @Value returns <empty>

我查过类似的问题:

但是,我找不到我的注释有什么问题

这是代码在 IntelliJ 中的样子 screenshot from IntelliJ

这是下面的内容

@Component
public class VisitMapper {
    @Value("${spring.datasource.url}")
    private String url;
    @Value("${spring.datasource.username}")
    private String username;
    @Value("${spring.datasource.password}")
    private String password;

//more code below

我有两个.properties 文件:application-dev.properties 和application.properties。 活动配置文件设置为开发。 在 application-dev.properties 我有:

spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
spring.datasource.username=postgres
spring.datasource.password=postgres

不确定它是否重要,因为活动配置文件设置为开发,但在 application.properties 我有:

spring.datasource.url=
spring.datasource.username=
spring.datasource.password=

总结 - 为什么密码值显示为空?

我怀疑 Intellij 隐藏了其中带有 password 的字段(尽管 <empty> 有点糟糕)或者 Intellij 很难解析正确的 属性该字段的值(无论出于何种原因)。

然而,您的应用程序启动的事实表明,至少,Spring Boot 确实正确地解析了属性,否则它不会启动并崩溃。由于无法解析 属性 或由于无法连接到数据库,它无法启动。