实体类
@Data @NoArgsConstructor @AllArgsConstructor @Accessors(chain = true) public class Person { private String name; private String age; private String content; }
@Component//将该类交由Spring管理 @ConfigurationProperties(prefix = "project") //自定义.properties文件的前缀 //指定.properties文件名与位置,字符集编码,.properties文件经常出现乱码,相对没有yml文件好 @PropertySource(value = "classpath:config.properties",encoding="UTF-8") @Data//这里需要提供set方法 public class ProjectListVo { List<Person> plist; }
比如现在控制器里自动装配
@Controller
public class TestController{
@Resource
private ProjectListVo projectListVo;//这样就有值了
}
config.properties中的内容
project.plist[0].name=zhangsan project.plist[0].age=23 project.plist[0].content=哈哈 project.plist[1].name=lisi project.plist[1].age=24 project.plist[1].content=呵呵
这里注意个小问题:
使用了 ConfigurationProperties 注解 会有这么一串提示
这串提示是要我们加个依赖(但是不加也无所谓)
这个依赖的作用是在properties文件中如下,会有下面这样的提示
在pom.xml加上该依赖
警告消失(且在application.properties里出现.....其实这里配置的是另外一个config.properties,而这个出现在application.properties)