SpringBoot之读取配置文件中自定义的值

SpringBoot之读取配置文件中自定义的值

概念:

  一般来说,我们会在配置文件中自定义一些自己需要的值,比如jwt的密匙,或者一些FTP配置等信息

如何获取:

  定义自己需要的属性

  SpringBoot之读取配置文件中自定义的值

 

 

获取方式一:

  使用Spring上下文中的环境获取

  SpringBoot之读取配置文件中自定义的值

 

 

   SpringBoot之读取配置文件中自定义的值

 

 

 获取方式二:

  使用@Value注解获取

  SpringBoot之读取配置文件中自定义的值

 

 

   SpringBoot之读取配置文件中自定义的值

 

 

 获取方式三:

  通过@ConfigurationProperties注解获取,指定前缀,自动映射成对象,@PropertySource可以指定配置文件,使用@ConfigurationProperties注解的前提必须使用@Component注解注释成一个Bean

package com.springboot.demo.model;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

/**
 * Component 定义为组件
 * ConfigurationProperties 通过前缀+属性自动注入
 * PropertySource 指定配置文件
 */
@Component
@ConfigurationProperties(prefix = "flower",ignoreUnknownFields = true)
@PropertySource(value = { "classpath:application.yml" })
public class Flower {

    private String name;

    private String age;

    public Flower(String name, String age) {
        this.name = name;
        this.age = age;
    }

    public Flower() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Flower{" +
                "name='" + name + '\'' +
                ", age='" + age + '\'' +
                '}';
    }
}

  SpringBoot之读取配置文件中自定义的值

 

   SpringBoot之读取配置文件中自定义的值

 

 测试:

  重启项目后统一测试

  接口一测试结果:

    SpringBoot之读取配置文件中自定义的值

  接口二测试结果:

    SpringBoot之读取配置文件中自定义的值

  接口三测试结果:

    SpringBoot之读取配置文件中自定义的值

 

 经过测试可以得知三种方法都可以获取配置文件中的值,其中都是可以组合使用的,比如@ConfigurationProperties+@Value等互相组合

作者:彼岸舞

时间:2021\01\12

内容关于:SpringBoot

本文来源于网络,只做技术分享,一概不负任何责任

package com.springboot.demo.model;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

/**
* Component 定义为组件
* ConfigurationProperties 通过前缀+属性自动注入
* PropertySource 指定配置文件
*/
@Component
@ConfigurationProperties(prefix = "flower",ignoreUnknownFields = true)
@PropertySource(value = { "classpath:application.yml" })
public class Flower {

private String name;

private String age;

public Flower(String name, String age) {
this.name = name;
this.age = age;
}

public Flower() {
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getAge() {
return age;
}

public void setAge(String age) {
this.age = age;
}

@Override
public String toString() {
return "Flower{" +
"name='" + name + '\'' +
", age='" + age + '\'' +
'}';
}
}
上一篇:中秋是你超越别人最好的机会,附Java 学习书籍推荐


下一篇:代理模式