無效的原因主要是要注意@Value使用的注意事項:
#springboot啟動過程中,有兩個比較重要的過程,如下:
resource.test.imageServer=http://image.everest.com
@Configuration public class EverestConfig { @Value("${resource.test.imageServer}") private String imageServer; public String getImageServer() { return imageServer; } }
2、第二種
@Component @ConfigurationProperties(prefix = "resource.test") public class TestUtil { public String imageServer; public String getImageServer() { return imageServer; } public void setImageServer(String imageServer) { this.imageServer = imageServer; } }
然後在需要的地方注入就可
@Autowired private TestUtil testUtil; @Autowired private EverestConfig everestConfig; @GetMapping("getImageServer") public String getImageServer() { return testUtil.getImageServer(); // return everestConfig.getImageServer(); }
@Value取得application.properties中的配置取值為Null
@Value("${spring.datasource.url}") private String url;
解決方法
正確做法
@Autowired private DBUtils jdbc; @Component public class DBUtils{ @Value("${spring.datasource.url}") private String url; }
以上是SpringBoot之@Value取得application.properties配置無效如何解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!