参考文章:
首先来看一下项目的目录结构:
示例下载:链接:百度云盘 提取码:eubm
HelloController.java文件:
import com.example.pojo.Person;
import com.example.pojo.Stu;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@Autowired
private Stu stu;
@Autowired
private Person person;
@GetMapping("properties3")
public String properties3(){
System.out.println(person.toString());
return "welocom to springboot2 world perperties3";
}
}
Dog.java文件:
package com.example.pojo;
import lombok.Data;
import lombok.ToString;
import org.springframework.stereotype.Component;
@Component
@Data
@ToString
public class Dog {
private String name;
private double weight;
}
Person.java文件:
package com.example.pojo;
import lombok.Data;
import lombok.ToString;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Component
@ConfigurationProperties(prefix="person")
@Data
@ToString
public class Person {
// 各种普通数据类型
private String lastName;
private Integer age;
private Boolean boss;
private Date birth;
// 复杂数据类型
private Map<String,Object> map;
private List<Object> list;
private List<Dog> dogs;
private Stu stu;
}
Stu文件:
package com.example.pojo;
import lombok.Data;
import lombok.ToString;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "stu") //指定前缀为stu
@Data
@ToString
public class Stu {
private String name;
private int age;
}
Application.java文件:
package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
Application.properties文件:
person.lastname=zhangsan
person.age=18
person.boss=false
person.birth=201/02/08 01:02:21
person.map.username=zhunode
person.map.age=22
person.list[0]=lisi
person.list[1]=good
person.dogs[0].name=aaa
person.dogs[0].weight=15
person.dogs[1].name=ccc
person.dogs[1].weight=16
person.stu.name=lisi
person.stu.age=21
stu.name=zhangsan
stu.age=10