加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 从application.properties Spring Boot读取值

发布时间:2020-12-15 02:02:30 所属栏目:Java 来源:网络整理
导读:我的 Spring启动应用程序具有以下应用程序结 src 主要 java 资源 application.properties 这是我的application.properties文件: logging.level.org.springframework=TRACElogging.level.org.hibernate=ERRORspring.resources.chain.strategy.content.enable
我的 Spring启动应用程序具有以下应用程序结

> src

>主要

> java
>资源

> application.properties

这是我的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

我有一个类需要使用该语言= java属性.这就是我尝试使用它的方式:

public class EntityManager {

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

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

由于某种原因,该打印值始终为“null”!我也试过把它放在类声明之上:

@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");
    }

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读