(一)、application.properties配置文件
使用Spring Initializr方式构建Spring Boot项目时,会在resource目录下自动生成。
配置文件的具体使用详细讲解。
(1)、Spring Initializr方式构建名为chapter02的Spring Boot项目(项目的包结构为com.itheima)。在Dependencies依赖中选择Web依赖。
(2)、为方便查看application.properties配置文件属性配置的效果,在项目的com.itheima包下创建一个domain包。并在该下创建一两个实体类Pet和Person。
项目的目录结构如下图所示。
实体类Pet.java 代码如下:
public class Pet { private String type; private String name; public String getType() { return type; } public void setType(String type) { this.type = type; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Pet{" + "type=‘" + type + ‘\‘‘ + ", name=‘" + name + ‘\‘‘ + ‘}‘; } }
实体类Person.java 代码如下:
@Component //将Person类作为Bean注入Spring容器 @ConfigurationProperties(prefix = "person") //经配置文件中以Person开头的属性注入该类中 public class Person { private int id; //id private String name; //名称 private List hobby; //爱好 private String[] family; //家庭成员 private Map map; private Pet pet; //宠物 public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List getHobby() { return hobby; } public void setHobby(List hobby) { this.hobby = hobby; } public String[] getFamily() { return family; } public void setFamily(String[] family) { this.family = family; } public Map getMap() { return map; } public void setMap(Map map) { this.map = map; } public Pet getPet() { return pet; } public void setPet(Pet pet) { this.pet = pet; } @Override public String toString() { return "Person{" + "id=" + id + ", name=‘" + name + ‘\‘‘ + ", hobby=" + hobby + ", family=" + Arrays.toString(family) + ", map=" + map + ", pet=" + pet + ‘}‘; } }
@ConfigurationProperties(prefix = "person") 注解的作用是将配置文件中以person开头的属性值通过setter方法注入实体类对应属性中;
@Component 注解的作用是将当前注入属性值的Person类的对象作为Bean组件放到spring容器中,只有这样才能被
@ConfigurationProperties注解赋值。
(3)、打开resource目录下的application.properties配置文件,并在该文件中编写需要对Person类设置的配置属性。
编写代码如下:
#对实体类对象Person进行属性配置 person.id=1 person.name=tom person.hobby=paly,read,sleep person.family=father,mother person.map.k1=v1 person.map.k2=v2 person.pet.type=dog person.pet.name=kity
在编写配置文件是,由于要配置的Person对象属性是自定义的,Spring Boot无法自动识别。为方便配置在使用
@ConfigurationProperties注解进行配置文件属性值注入时,可在pom.xml文件中添加Spring Boot提供的的配置处理器依赖。示例代码如下:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> </dependency>
再添加完上述配置依赖后,需重新运行项目启动类或者“Ctrl+F9”组合键(即Bulid Project)重构当前Spring Boot项目,方可生效。
(4)、在测试类中引入Person实体类Bean并进行输出测试。
测试类编写文件如下所示:
package com.itheima.chapter02; @SpringBootTest class Chapter02ApplicationTests { @Autowired private Person person; @Test public void contextLoads(){ System.out.println(person); } }
@Autowired注解将Person作为Bean注入Spring容器,然后在contextLoads()方法中输出Person
运行contextLoads()方法,并查看控制台的输出结果。
原文:https://www.cnblogs.com/ztfkyn/p/13441627.html