`

springboot读取配置文件中的信息

阅读更多

    在一个项目中,我们有时候会把一些配置信息写入到一个配置文件中,在java代码中读取配置文件的信息。在此记录下读取属性文件中的内容。

    在springboot项目中,springboot的配置文件可以使用属性文件,也可以使用yaml文件。建议使用yaml文件来做springboot的配置文件。在springboot中,加载application.yaml文件可以放在多处,例子中默认放在classpath的类路径下。

 1.项目的结构图
 

2.项目的启动类

 

@SpringBootApplication
public class SpringbootReadPropApplication {

	public static void main(String[] args) {
		SpringApplication.run(SpringbootReadPropApplication.class, args);
	}
}

 3.读取属性文件的类

 

/**
 * 读取属性文件中的配置信息
 * 
 * @描述
 * @作者 huan
 * @时间 2016年12月25日 - 下午10:26:01
 */
@RestController
@RequestMapping("read-prop")
public class ReadPropController {

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

	@Autowired
	private PersionProp persionProp;

	@RequestMapping("show")
	public Map<String, Object> show() {
		Map<String, Object> prop = new HashMap<>();
		prop.put("name", this.name);
		prop.put("per", persionProp);
		return prop;
	}
}

@ConfigurationProperties(prefix = "persion")
@Component
class PersionProp {
	private int age;
	private String name;
	private String address;

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public String getName() {
		return name;
	}

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

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	@Override
	public String toString() {
		return "PersionProp [age=" + age + ", name=" + name + ", address=" + address + "]";
	}
}

 4.application.yaml文件中的内容

 

server:
  port: 80 #服务器启动的端口
  context-path: /springboot #上下文路径,必须要以/开头
  
#自定义一些属性
persion:
  name: huan
  age: 23
  address: 湖北-${persion.name}

 5.pom文件中的内容

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.huan.springboot</groupId>
	<artifactId>springboot</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>springboot_read_prop</name>
	<description>SpringBoot读取配置文件中的内容</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.4.3.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

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

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
</project>

 6.运行结果

7.注意事项。

   1.读取属性文件中的值使用注解@Value

   2.yaml文件的格式比较严格, : 后面的空格不能忘记,否则会报错

   3.当使用@ConfigurationProperties注解修饰一个类,表示将配置文件中的信息包装到这个类中,同时要使用@Component注解修饰,加入到spring的容器中进行管理.并且需要引入

spring-boot-configuration-processor  这个依赖

  4.可以使用占位符进行值的替换

 

 

 

 

 


 
 

  • 大小: 20.3 KB
  • 大小: 15.5 KB
分享到:
评论

相关推荐

    SpringBoot读取配置文件常用方法解析

    可以使用 @Value 注解读取配置文件中的配置信息,例如: ```java @Value("${dbType}") private String dbType; ``` 使用 SpringBoot 读取配置文件的优点是简化了配置,通过注解简化开发,提高了开发效率。

    springboot读取配置文件.rar

    综上所述,Spring Boot提供了灵活且强大的方式来管理和读取配置文件。无论是简单的`application.properties`还是结构化的`application.yml`,都能满足开发者的需求。通过`@ConfigurationProperties`、`@Value`和`...

    Springboot读取本地json文件工程

    首先,需要在`pom.xml`文件中引入Jackson依赖,然后使用`ObjectMapper`类读取JSON文件: ```xml &lt;!-- 在pom.xml中添加Jackson依赖 --&gt; &lt;groupId&gt;com.fasterxml.jackson.core&lt;/groupId&gt; &lt;artifactId&gt;jackson-...

    SpringBoot-2.7.6读取配置文件的方式

    本篇文章将详细介绍Spring Boot如何读取配置文件,以及提供一些调试示例代码,帮助你更好地理解和运用。 ### 1. 配置文件位置与优先级 Spring Boot支持多种类型的配置文件,包括`application.properties`和`...

    Springboot读取配置文件及自定义配置文件的方法

    以下是对Spring Boot读取配置文件及自定义配置文件方法的详细解释。 1. **默认配置文件** Spring Boot默认使用`application.properties`或`application.yml`作为主配置文件。这两个文件位于`src/main/resources`...

    如何解决springboot读取配置文件的中文乱码问题

    下面将详细介绍如何解决Spring Boot读取配置文件时的中文乱码问题。 首先,我们需要理解编码的基本概念。在计算机中,文本是以二进制形式存储的,而编码则是一种规则,用于将字符转换为二进制和反向转换。UTF-8是最...

    Spring Boot多模块配置文件读取

    - 如果需要模块间共享某些配置,可以创建一个公共配置模块,将这些共享的配置放在该模块的配置文件中。 2. **配置文件加载** - Spring Boot会自动扫描`src/main/resources`下的`application.properties`或`...

    SpringBoot如何读取配置文件参数并全局使用

    SpringBoot 框架中读取配置文件参数并全局使用是非常重要的,特别是在实际开发中,我们经常需要读取配置文件中的参数来实现灵活的配置管理。本文将主要介绍如何在 SpringBoot 中读取配置文件参数并全局使用。 一、...

    springboot读取配置文件中的参数具体步骤

    Spring Boot读取配置文件中的参数步骤详解 在 Spring Boot 框架中,读取配置文件中的参数是非常重要的一步。下面,我们将详细介绍如何在 Spring Boot 项目中读取配置文件中的参数。 为什么需要读取配置文件中的...

    SpringBoot第 5 讲:SpringBoot+properties配置文件读取

    要从`properties`文件中读取配置值,可以使用`@Value`注解。例如,如果你在`application.properties`中有这样一个配置: ``` db.url=jdbc:mysql://localhost:3306/mydb ``` 在Java类中,你可以这样注入这个值:...

    SPRINGBOOT读取PROPERTIES配置文件数据过程详解

    最后,运行测试类时,SPRINGBOOT 框架将自动读取配置文件中的数据,并将其映射到 `Coffer` 对象中。输出结果如下所示: ``` Coffer{ brand='Camel', length=100.0, width=80.0, height=60.0, contains=...

    springboot读取自定义配置文件节点的方法

    Spring Boot 读取自定义配置文件节点的方法 Spring Boot 框架提供了多种方式来读取自定义配置文件节点,以下是其中的两种常见方法: ...通过选择合适的方法,我们可以轻松地读取和使用配置文件中的节点信息。

    SpringBoot读取properties文件配置项过程解析

    例如,我们可以在application.properties文件中配置数据源的相关信息,如下所示: ``` spring.datasource.userName=root spring.datasource.password=123456 spring.datasource.url=jdbc:mysql://localhost:3306/...

    Springboot整合Spring Cloud Kubernetes读取ConfigMap支持自动刷新配置的教程

    在`pom.xml`文件中,添加以下依赖: ```xml &lt;groupId&gt;org.springframework.boot &lt;artifactId&gt;spring-boot-starter-web &lt;groupId&gt;org.springframework.cloud &lt;artifactId&gt;spring-cloud-starter-kubernetes-...

    【SpringBoot】二、SpringBoot中配置文件详解.docx

    3. **配置文件间的引用**:在配置文件中,可以使用`${key}`引用其他配置项的值,如`server:name: this is ${user.name}`。 在实际开发中,往往需要针对不同的环境(如开发、测试、生产)使用不同的配置。SpringBoot...

    SpringBoot读取properties或者application.yml配置文件中的数据

    总结一下,Spring Boot提供了多种方式来读取`.properties`和`.yml`配置文件中的数据,包括使用`@Value`注解直接注入字段、创建配置类以及使用`@ConfigurationProperties`进行更高级的数据绑定。这些机制让开发者能...

    详解springboot读取yml配置的几种方式

    这里,`prefix = "student"`指定了配置前缀,SpringBoot会自动将配置文件中`student`下的所有属性绑定到`Student`对象上。 **第三种方式:@Environment** 虽然不常用,但`@Environment`注解也可以用来获取配置信息...

    SpringBoot获取yml和properties配置文件的内容

    总的来说,Spring Boot通过`@ConfigurationProperties`和`@Component`注解使得从`properties`或`yml`配置文件中获取和使用配置变得非常简单。开发者只需创建一个Java类,声明属性,并让Spring Boot自动绑定配置,...

    SpringBoot在yml配置文件中配置druid的操作

    最新版的druid和旧版在filter配置方面有些不同,以下是旧版druid中配置filter: spring: ##数据库连接信息 datasource: url: jdbc:mysql://localhost:3306/young username: root password: root driver-class...

Global site tag (gtag.js) - Google Analytics