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

网友投稿 357 2022-11-21


浅谈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的属性

读取developehttp://r.name...

pom文件中引入依赖

org.springframework.boot

springbuKxevdAq-boot-configuration-processor

true

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

//使用方法

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的方式读取配置文buKxevdAq件(不支持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);

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:深入理解Java8双冒号::的使用
下一篇:mybatis typeAliases 给实体类起别名的方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~