使用SpringBoot开发过程中,难免需要配置相关数据项,然后在Java代码中@Autowired注入并使用。
我们应该如何读取properties文件中的配置项呢?
基于SpringBoot项目,配置项一般都存放在application.properties文件中。有2种常用的方法:
1.使用@Value注解标注在Field上面
2.使用@ConfigurationProperties注解标注在类或者方法上
为了讲解方便,附上application.properties文件配置好的数据项
如下图所示:
我们可以看到1~3行的配置项,有一个共同的特点:有相同的前缀spring.datasource,既然具备这个特点,那么我们就可以定义一个class,里面有3个fields:userName、password和url。然后在类上使用@ConfigurationProperties标注并指定前缀spring.datasource即可。最后,且非常重要的是,SpringBoot的主入口类 XxxApplication类需要使用@EnableAutoConfiguration进行标注(在SpringBoot 2.x可省略)!
下面附上示例:
@ConfigurationProperties(prefix = "spring.datasource")
public class DataSourceProperties {
private String userName;
private String password;
private String url;
}
那么,类似第5行的 web.upload.path配置项,又应该如何读取呢?
其实,我们可以使用@Value完成属性值注入field。参见以下代码块:
@Value("${web.upload.path}")
private String webUploadPath;
完...