注意:properties中的数组,在Java中,对应List类型
案例1:
从properties文件中获取如下配置:
注意:properties文件中,不能直接填写中文,会导致乱码,但yml文件支持中文编码
1、配置数据绑定类
package com.shuizhu.properties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 解析shuizhu.names数组
* @author 睡竹
* @date 2022/9/23
*/
@Component
@ConfigurationProperties("shuizhu")
public class TestProperties {
private List<String> names;
public List<String> getNames() {
return names;
}
public void setNames(List<String> names) {
this.names= names;
}
}
2、单元测试
@SpringBootTest
class ShuizhuMultipleDsApplicationTests {
//绑定属性
@Resource
TestProperties properties;
@Test
void contextLoads() {
List<String> names = properties.getNames();
for (String name : names) {
System.out.println(name);
}
}
}
3、运行结果
案例2(原理与上面一致):
从properties文件中获取如下配置:
1、 创建Student实体类
package com.shuizhu.properties;
import lombok.Data;
/**
* @author 睡竹
* @date 2022/9/23
*/
@Data
public class Student {
private String name;
private Integer age;
}
2、配置数据绑定类
package com.shuizhu.properties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 绑定shuizhu.students[0].xxx
* @author 睡竹
* @date 2022/9/23
*/
@Component
@ConfigurationProperties("shuizhu")
public class TestProperties {
private List<Student> students;
public List<Student> getStudents() {
return students;
}
public void setStudents(List<Student> students) {
this.students = students;
}
}
3、单元测试
@SpringBootTest
class ShuizhuMultipleDsApplicationTests {
//绑定属性
@Resource
TestProperties properties;
@Test
void contextLoads() {
List<Student> students = properties.getStudents();
for (Student student : students) {
System.out.println("学生名字:"+student.getName()+"\t年龄:"+student.getAge());
}
}
}
4、运行结果
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/99566.html