SpringBoot中如何正确获取自定义配置文件的值?

2026-05-27 21:551阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计754个文字,预计阅读时间需要4分钟。

SpringBoot中如何正确获取自定义配置文件的值?

在开发过程中,我们经常需要自定义一些属性值,如第三方服务地址、图片服务器地址、常量值等。本章将介绍如何获取这些自定义属性的值。

在`application-dev.yml`文件中,我们可以通过以下方式自定义属性:

yaml自定义属性示例third-party-service-url: http://example.comimage-service-url: http://images.example.comconstant-value: 123

获取自定义属性值的方法如下:

java// 获取第三方服务地址String thirdPartyServiceUrl=environment.getProperty(third-party-service-url);

// 获取图片服务器地址String imageServiceUrl=environment.getProperty(image-service-url);

// 获取常量值int constantValue=Integer.parseInt(environment.getProperty(constant-value));

以上代码演示了如何从`application-dev.yml`文件中获取自定义属性值。在实际项目中,您可以根据需要修改属性名称和值。


在开发过程中,我们常常会自定义一些属性值,比如第三方服务地址,图片服务器地址,常量值等等。这一章就整下如何获取自定义属性的值。

(这里接着上一章在application-dev.yml中自定义属性。然后用结合profile配置获取自定义属性的值,当然也可以直接在application.xml中定义)

一,使用@Value

1.在application-dev.yml(application.yml)文件中定义自定义属性

​编辑

编辑

2.在IndexController中定义变量(实际开发中一般是不会定义在启动类中的,这里单纯为了学习获取自定义属性的方法)

@Value("${PEOPLE.name}")
private String name;

@Value("${PEOPLE.sex}")
private

3.写一个接口返回姓名性别

@RequestMapping("/info")
@ResponseBody
public String getPeopleInfo(){
return name+":"+sex;
}

4.启动后访问 ​​localhost:8088/dev/info​​

编辑

二,使用@ConfigurationProperties(prefix=" ")

当自定义属性较多时,我们就要写很多的@Value取值,鉴于此,springboot提供了ConfigurationProperties方便取值。

1.使用ConfigurationProperties需要引入依赖


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


2.使用方法:①,在类头部使用@ConfigurationProperties(prefix=" ")注解

②,类文件中定义的变量需与applicaton文件中的变量保持一致,并生成geter/seter

③,规范变量开头

3.代码如下:

@Controller
@EnableAutoConfiguration(exclude = {MongoAutoConfiguration.class})//自动配置
@ConfigurationProperties(prefix = "PEOPLE")
public class IndexContoller {

//入口
public static void main(String[] args) {
SpringApplication.run(IndexContoller.class,args);
}


private String name;

private String sex;

public String getName() {
return name;
}

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

public String getSex() {
return sex;
}

public void setSex(String sex) {
this.sex = sex;
}

@RequestMapping("/info")
@ResponseBody
public String getPeopleInfo(){
return name+":"+sex;
}

}

启动项目,访问 ​​localhost:8088/dev/info​​

SpringBoot中如何正确获取自定义配置文件的值?



标签:

本文共计754个文字,预计阅读时间需要4分钟。

SpringBoot中如何正确获取自定义配置文件的值?

在开发过程中,我们经常需要自定义一些属性值,如第三方服务地址、图片服务器地址、常量值等。本章将介绍如何获取这些自定义属性的值。

在`application-dev.yml`文件中,我们可以通过以下方式自定义属性:

yaml自定义属性示例third-party-service-url: http://example.comimage-service-url: http://images.example.comconstant-value: 123

获取自定义属性值的方法如下:

java// 获取第三方服务地址String thirdPartyServiceUrl=environment.getProperty(third-party-service-url);

// 获取图片服务器地址String imageServiceUrl=environment.getProperty(image-service-url);

// 获取常量值int constantValue=Integer.parseInt(environment.getProperty(constant-value));

以上代码演示了如何从`application-dev.yml`文件中获取自定义属性值。在实际项目中,您可以根据需要修改属性名称和值。


在开发过程中,我们常常会自定义一些属性值,比如第三方服务地址,图片服务器地址,常量值等等。这一章就整下如何获取自定义属性的值。

(这里接着上一章在application-dev.yml中自定义属性。然后用结合profile配置获取自定义属性的值,当然也可以直接在application.xml中定义)

一,使用@Value

1.在application-dev.yml(application.yml)文件中定义自定义属性

​编辑

编辑

2.在IndexController中定义变量(实际开发中一般是不会定义在启动类中的,这里单纯为了学习获取自定义属性的方法)

@Value("${PEOPLE.name}")
private String name;

@Value("${PEOPLE.sex}")
private

3.写一个接口返回姓名性别

@RequestMapping("/info")
@ResponseBody
public String getPeopleInfo(){
return name+":"+sex;
}

4.启动后访问 ​​localhost:8088/dev/info​​

编辑

二,使用@ConfigurationProperties(prefix=" ")

当自定义属性较多时,我们就要写很多的@Value取值,鉴于此,springboot提供了ConfigurationProperties方便取值。

1.使用ConfigurationProperties需要引入依赖


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


2.使用方法:①,在类头部使用@ConfigurationProperties(prefix=" ")注解

②,类文件中定义的变量需与applicaton文件中的变量保持一致,并生成geter/seter

③,规范变量开头

3.代码如下:

@Controller
@EnableAutoConfiguration(exclude = {MongoAutoConfiguration.class})//自动配置
@ConfigurationProperties(prefix = "PEOPLE")
public class IndexContoller {

//入口
public static void main(String[] args) {
SpringApplication.run(IndexContoller.class,args);
}


private String name;

private String sex;

public String getName() {
return name;
}

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

public String getSex() {
return sex;
}

public void setSex(String sex) {
this.sex = sex;
}

@RequestMapping("/info")
@ResponseBody
public String getPeopleInfo(){
return name+":"+sex;
}

}

启动项目,访问 ​​localhost:8088/dev/info​​

SpringBoot中如何正确获取自定义配置文件的值?



标签: