springboot java应用程序类中的属性值加载

时间:2015-12-25 17:01:58

标签: java properties spring-boot

我试图在我的java Application类中加载属性文件值,但它没有加载,因为Sysout打印为null。 我的代码中缺少的任何内容。 当我启动Spring容器时,我可以看到日志中加载的属性文件的值如下所示:

015-12-24 22:36:08.313  INFO 22224 --- [           main] com.ge.predix.solsvc.boot.Application    : propertySource=applicationConfig: [file:./config/application.properties] values={logging.level.org.springframework=INFO, server.port=9092, logging.level.root=INFO}class=class org.springframework.core.env.PropertiesPropertySource
2015-12-24 22:36:08.313  INFO 22224 --- [           main] com.ge.predix.solsvc.boot.Application    : propertySource=class path resource [application-default.properties] values={**predix.oauth.clientId=admin:cargo_beta**, spring.profiles.active=local, predix.oauth.restHost=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}class=class org.springframework.core.io.support.ResourcePropertySource
        @PropertySources({
            @PropertySource("classpath:application-default.properties") 
        })
        @SpringBootApplication
        @Configuration
        public class Application
        {
            private static final Logger log = LoggerFactory.getLogger(Application.class);



            @Value("${predix.oauth.clientId}")   
            private static String loc;



public static void main(String[] args)
        {
            SpringApplication springApplication = new SpringApplication(Application.class);
            ApplicationContext ctx = springApplication.run(args); 

System.out.println("#############################################" +loc);

}
} 

1 个答案:

答案 0 :(得分:0)

简短的回答是,春天不会向静态成员注入价值:Spring: How to inject a value to static field?