首页 > 编程语言 > 详细

Spring Boot 全局配置文件

时间:2020-08-05 18:48:37      阅读:93      评论:0      收藏:0      [点我收藏+]

(一)、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 + ‘\‘‘ +
                ‘}‘;
    }
}
Pet.java

 

实体类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 +
                ‘}‘;
    }
}
Person.java
@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()方法,并查看控制台的输出结果。

 

 

Spring Boot 全局配置文件

原文:https://www.cnblogs.com/ztfkyn/p/13441627.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!