服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|编程技术|正则表达式|

服务器之家 - 编程语言 - JAVA教程 - 浅谈SpringBoot主流读取配置文件三种方式

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

2020-09-19 00:26My Dearest JAVA教程

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

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

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

?
1
2
3
4
5
6
@Data
@Component
public class ApplicationProperty {
  @Value("${application.name}")
  private String name;
}

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

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

?
1
2
3
4
5
6
7
8
9
@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文件中引入依赖

?
1
2
3
4
5
<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-configuration-processor</artifactId>
      <optional>true</optional>
</dependency>

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//使用方法
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的方式读取

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

2.用Setting的方法读取

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

3.将配置文件读取

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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.使用方式

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

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

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

原文链接:https://juejin.im/post/6873648875345805320

延伸 · 阅读

精彩推荐