欢迎来到代码驿站!

当前位置:首页 >

浅谈SpringBoot主流读取配置文件三种方式

时间:2020-09-18 12:00:20|栏目:|点击:

读取配置SpringBoot配置文件三种方式

一、利用Bean注解中的Value(${})注解

@Data
@Component
public class ApplicationProperty {
  @Value("${application.name}")
  private String name;
}

该方式可以自动读取当前配置文件appliation.yml  或者application.properties中的配置值
区别在于读取yml文件时候支持中文编码,peoperties需要转码

二、利用@ConfigurationProperties(prefix = "developer")注解

@Data
@ConfigurationProperties(prefix = "developer")
@Component
public class DeveloperProperty {
  private String name;
  private String website;
  private String qq;
  private String phoneNumber;
}

该方式直接将当前加载yml配置文件前缀为developer的属性

读取developer.name...

pom文件中引入依赖

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-configuration-processor</artifactId>
      <optional>true</optional>
</dependency>

三、前两种读取配置的使用方式

//使用方法
private final ApplicationProperty applicationProperty;
private final DeveloperProperty developerProperty;

@Autowired
  public PropertyController(ApplicationProperty applicationProperty, DeveloperProperty developerProperty) {
    this.applicationProperty = applicationProperty;
    this.developerProperty = developerProperty;
  }

@GetMapping("/property")
  public Dict index() {
    System.out.println("name:"+applicationProperty.getName());
    System.out.println("version:"+applicationProperty.getVersion());
    System.out.println("DevName:"+applicationProperty.getDeveloperName());
  }

四、用Hutool的方式读取配置文件(不支持yml格式)

1.用Props的方式读取

static Props props1 = new Props("application.properties",CharsetUtil.CHARSET_UTF_8);

2.用Setting的方法读取

static Setting setting = new Setting("application-dev.yml", CharsetUtil.CHARSET_UTF_8,true);

3.将配置文件读取

public class Constant {
  
  static Props props1 = new Props("application.properties",CharsetUtil.CHARSET_UTF_8);

  static Setting setting = new Setting("application-dev.properties", CharsetUtil.CHARSET_UTF_8,true);

  public static final String Name ;
  public static final String SettingName ;

  static {
    Name = props.getStr("application.name");
    SettingName = setting.getByGroup("name","application");

  }
}

4.使用方式

System.out.println(Constant.DevName+"------"+Constant.DevWebsite);

直接用常量类调用该类属性即可使用

上一篇:Python猫眼电影最近上映的电影票房信息

栏    目:

下一篇:R语言ggplot2边框背景去除的实现

本文标题:浅谈SpringBoot主流读取配置文件三种方式

本文地址:http://www.codeinn.net/misctech/5135.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有