java - Spring配置文件不从application.properties读取值

标签 java spring spring-boot

我的配置文件的开头,路径为 src/main/java/{package name}/DataBaseConfiguration.java:

@Configuration
@PropertySource("classpath:application.properties")
public class DataBaseConfiguration {

    private static final Logger LOGGER = LoggerFactory.getLogger("DataBaseConfiguration.class");

    @Value("${tenantdb.driver.classname}")
    static String tenantDbDriverClassname;

    @Value("${tenantdb.url}")
    static String tenantDbUrl;

    @Value("${tenantdb.username}")
    static String tenantDbUsername;

    @Value("${tenantdb.password}")
    static String tenantDbPassword;

我的 application.properties 文件,路径为 src/main/resources/application.properties:

tenantdb.driver.classname=org.postgresql.Driver
tenantdb.url=jdbc:postgresql://127.0.0.1:5000/tenant_db
tenantdb.username=tenant_admin_user
tenantdb.password=postgres
tenantdb.connectionpool.initialSize=3
tenantdb.connectionpool.maxActive=25
tenantdb.connectionpool.maxIdle=25
tenantdb.connectionpool.minIdle=1

我正在使用 gradle 来构建项目。我将内容转换为 JAR 并将 JAR 运行为 $java -jar/path/to/jar。代码执行并运行,并且记录了我所有的打印调试语句。然而,我的变量的值都是空的,即没有从属性文件中读取内容。

我已确保 application.properties 文件位于 JAR 中。

归档中的文件integrity-check-service.jar

META-INF/
META-INF/MANIFEST.MF
BOOT-INF/
BOOT-INF/classes/
BOOT-INF/classes/com/
BOOT-INF/classes/com/agilysys/
BOOT-INF/classes/com/agilysys/analytics/
BOOT-INF/classes/com/agilysys/analytics/integritycheckservice/
BOOT-INF/classes/com/agilysys/analytics/integritycheckservice/CompareData.class
BOOT-INF/classes/com/agilysys/analytics/integritycheckservice/DataBaseConfiguration.class
BOOT-INF/classes/application.properties

(还有其他文件,但我没有将它们全部打印在这里。)

有谁知道为什么会这样吗?

最佳答案

@PropertySource 不适用于静态变量。去掉 static 关键字。

关于java - Spring配置文件不从application.properties读取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61090769/

相关文章:

java - Java 对象可以从 Javascript 传递到 Applet

Java缩略图库: IIOException occurred : Error reading PNG metadata

java - Spring获取泛型类型类

spring - 按排名对结果进行排序

java - 动态 SSL keystore /证书选择

java - 解释 JobLauncherApplicationRunner 类是如何工作的?

Java Arrays.asList 不

java - 文件的 JSON(简单)解析返回空值

java - 奇怪的 org.springframework.jdbc.BadSqlGrammarException

java - spring-cloud-gcp-starter-bigquery 忽略属性文件中的 spring.cloud.gcp.credentials.location