java - 从 application.properties Spring Boot 中读取值

标签 java spring spring-mvc

我的 Spring Boot 应用程序具有以下应用程序结构:

  • 来源
    • 主要
      • Java
      • 资源
        • 应用程序属性

这是我的 application.properties 文件:

logging.level.org.springframework=TRACE
logging.level.org.hibernate=ERROR
spring.resources.chain.strategy.content.enabled=true
spring.resources.chain.strategy.content.paths=/**
#spring.resources.chain.cache=false
#spring.resources.chain.html-application-cache=false
#spring.headers.cache=false
language=java

我有一个类需要使用 language=java 属性。这就是我尝试使用它的方式:

public class EntityManager {

    @Value("${language}")
    private static String newLang;

    public EntityManager(){
        System.out.println("langauge is: " + newLang);
    }
}

出于某种原因,打印的值总是“空”!我也试过把它放在类声明的顶部:

@PropertySource(value = "classpath:application.properties")

最佳答案

可以通过多种方式实现,引用下文。

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

    @Value("${language}")
    private static String newLang;

    @Bean
    public static PropertySourcesPlaceholderConfigurer propertyConfigInDev() {
        return new PropertySourcesPlaceholderConfigurer();
    }

}

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

    @Autowired
    private Environment env;

    public void readProperty() {
        env.getProperty("language");
    }

}

关于java - 从 application.properties Spring Boot 中读取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45428826/

相关文章:

spring - 如何通过 RestTemplate 发布字节数组

java - 如何在 Spring 中将错误消息从 bean 传递到表单

Java : How to accommodate special characters in the filename while uploading and downloading the file?

java - Spring Boot - 请求映射不接受尾部斜杠或多个目录

java - 使用 loadUserByUsername 时出现 NullPointerException

java - 初始化错误失败 java.lang.SecurityException

java - 我们可以在不使用 main 方法、静态变量和静态方法的情况下在控制台上打印 java 消息吗?

java - 如何从 UTC 时间 + TimeZone ID 计算挂钟时间?

java - 启动过滤器 struts2 时出现异常 无法加载配置。怎么了?

java - 空白图像(帧缓冲区)