自定义配置,可以是定义在主配置文件 application.properties 中的自定义属性,也可以是自定义配置文件中的属性。
定义在主配置文件
新建工程
然后在主配置文件中自定义
控制类
运行访问:http://localhost:8080/dotest
一般情况下,主配置文件中存放系统中定义好的属性设置,而自定义属性一般会写入自定义的配置文件中。也就是说,Java 代码除了可以读取主配置文件中的属性外,还可以读取指定配置文件中的属性,可以通过@PropertySource 注解加载指定的配置文件。
现在自定义配置文件,可以选择新建一个工程,也可以选择在原有工程新建。为了举例方便,把原有工程主配置文件注释,新建配置文件student.properties
同时需要在控制类进行修改
配置文件有中文,需要规定编码格式。
虽然在配置文件有多个值,不过现在只用一个student.name就行
运行访问成功
注意到整个student.properties很像一个类对象,现在就考虑怎么读取对象属性
定义配置属性类
注意类名可以不是Student,但是@ConfigurationProperties里面(前缀)必须是和配置文件一样
修改控制类,注释掉之前的属性和@PropertySource,新建一个Student属性
这里我们测试一下返回id
控制台打印出了全部信息
前面说的属性都是简单属性,要是是集合类型怎么处理?
新建一个类,有一个属性是List类型
自定义一个配置文件(也可以在之前的自定义配置文件写),我这里选择新建country.properties
控制类
运行访问:
直接打印是其首地址,没问题
控制台打印出所有信息
上述List中元素是简单类型,如果是对象类型怎么处理?
新建一个类Group
有一个Person类型的List
新建Person类,该类无需任何注解
控制类
运行访问
打印出首地址
控制台打印出全部信息
才疏学浅之处,切莫在意。
——2019.6.14 下午