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

 更新时间:2020年09月18日 11:39:20   作者:My Dearest  
这篇文章主要介绍了浅谈SpringBoot主流读取配置文件三种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

读取配置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);

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

到此这篇关于浅谈SpringBoot主流读取配置文件三种方式的文章就介绍到这了,更多相关SpringBoot主流读取配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • idea中增强for循环提示unexpected token问题

    idea中增强for循环提示unexpected token问题

    这篇文章主要介绍了idea中增强for循环提示unexpected token问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 使用WebUploader实现上传文件功能(一)

    使用WebUploader实现上传文件功能(一)

    这篇文章主要为大家详细介绍了使用WebUploader实现上传文件功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 聊聊为什么要使用BufferedReader读取File

    聊聊为什么要使用BufferedReader读取File

    这篇文章主要介绍了为什么要使用BufferedReader读取File,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • java读取properties配置文件的方法

    java读取properties配置文件的方法

    这篇文章主要介绍了java读取properties配置文件的方法,涉及java操作properties配置文件的相关技巧,需要的朋友可以参考下
    2015-05-05
  • springboot 整合 seata的配置过程

    springboot 整合 seata的配置过程

    本文给大家介绍springboot 整合 seata的配置过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-08-08
  • 深入了解JAVA泛型

    深入了解JAVA泛型

    这篇文章主要介绍了JAVA泛型的相关知识,文中代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下
    2020-06-06
  • 如何手写一个Spring Boot Starter

    如何手写一个Spring Boot Starter

    这篇文章主要介绍了如何手写一个Spring Boot Starter,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下
    2021-03-03
  • JavaWeb核心技术中Session与Cookie浅析

    JavaWeb核心技术中Session与Cookie浅析

    session的工作原理和cookie非常类似,在cookie中存放一个sessionID,真实的数据存放在服务器端,客户端每次发送请求的时候带上sessionID,服务端根据sessionID进行数据的响应
    2023-02-02
  • Thymeleaf渲染网页时中文乱码的问题及解决

    Thymeleaf渲染网页时中文乱码的问题及解决

    这篇文章主要介绍了Thymeleaf渲染网页时中文乱码的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Java使用HttpClient详细示例

    Java使用HttpClient详细示例

    这篇文章介绍了Java使用HttpClient的详细示例,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12

最新评论