Spring Boot:@Value和@ConfigurationProperties

springboot 中都会有 application.properties 这个配置文件。这个配置文件中会有一些基本的属性微调配置项。那么这个配置项是如何起作用的呢?

以数据库配置信息为例,可以在 application.properties 中查看到如下配置信息:

如果使用的 ide 是 idea,可以按住 ctrl,鼠标点击配置信息,就可以看到对应的类,如下图:

注解 @ConfigurationProperties  的作用是将配置文件中的值注入到对应类中的属性中。@ConfigurationProperties 中 prefix 的值就是其在配置文件中的前缀值,例如 spring.datasource.url 的值将会被赋值给 DataSourceProperties 类中的 url 属性。

 

注解 @Value 的作用和 @ConfigurationProperties 的作用类似,其用法是,在 application.properties 中添加自定义属性,例如:

在 Java 代码中通过 @Value 获取这个属性值。

以上就是二者的使用方法和区别。

 

参考:

二者区别 https://www.cnblogs.com/slowcity/p/9097969.html

官方文档 https://docs.spring.io/spring-boot/docs/2.1.8.RELEASE/reference/html/boot-features-external-config.html

posted @ 2019-09-09 14:34  colin220  阅读(202)  评论(0编辑  收藏  举报