springboot 中都会有 application.properties 这个配置文件。这个配置文件中会有一些基本的属性微调配置项。那么这个配置项是如何起作用的呢?
以数据库配置信息为例,可以在 application.properties 中查看到如下配置信息:
如果使用的 ide 是 idea,可以按住 ctrl,鼠标点击配置信息,就可以看到对应的类,如下图:
注解 @ConfigurationProperties 的作用是将配置文件中的值注入到对应类中的属性中。@ConfigurationProperties 中 prefix 的值就是其在配置文件中的前缀值,例如 spring.datasource.url 的值将会被赋值给 DataSourceProperties 类中的 url 属性。
注解 @Value 的作用和 @ConfigurationProperties 的作用类似,其用法是,在 application.properties 中添加自定义属性,例如:
在 Java 代码中通过 @Value 获取这个属性值。
以上就是二者的使用方法和区别。
参考: