在一个项目中,我们有时候会把一些配置信息写入到一个配置文件中,在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.可以使用占位符进行值的替换
相关推荐
可以使用 @Value 注解读取配置文件中的配置信息,例如: ```java @Value("${dbType}") private String dbType; ``` 使用 SpringBoot 读取配置文件的优点是简化了配置,通过注解简化开发,提高了开发效率。
综上所述,Spring Boot提供了灵活且强大的方式来管理和读取配置文件。无论是简单的`application.properties`还是结构化的`application.yml`,都能满足开发者的需求。通过`@ConfigurationProperties`、`@Value`和`...
首先,需要在`pom.xml`文件中引入Jackson依赖,然后使用`ObjectMapper`类读取JSON文件: ```xml <!-- 在pom.xml中添加Jackson依赖 --> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-...
本篇文章将详细介绍Spring Boot如何读取配置文件,以及提供一些调试示例代码,帮助你更好地理解和运用。 ### 1. 配置文件位置与优先级 Spring Boot支持多种类型的配置文件,包括`application.properties`和`...
以下是对Spring Boot读取配置文件及自定义配置文件方法的详细解释。 1. **默认配置文件** Spring Boot默认使用`application.properties`或`application.yml`作为主配置文件。这两个文件位于`src/main/resources`...
下面将详细介绍如何解决Spring Boot读取配置文件时的中文乱码问题。 首先,我们需要理解编码的基本概念。在计算机中,文本是以二进制形式存储的,而编码则是一种规则,用于将字符转换为二进制和反向转换。UTF-8是最...
- 如果需要模块间共享某些配置,可以创建一个公共配置模块,将这些共享的配置放在该模块的配置文件中。 2. **配置文件加载** - Spring Boot会自动扫描`src/main/resources`下的`application.properties`或`...
SpringBoot 框架中读取配置文件参数并全局使用是非常重要的,特别是在实际开发中,我们经常需要读取配置文件中的参数来实现灵活的配置管理。本文将主要介绍如何在 SpringBoot 中读取配置文件参数并全局使用。 一、...
Spring Boot读取配置文件中的参数步骤详解 在 Spring Boot 框架中,读取配置文件中的参数是非常重要的一步。下面,我们将详细介绍如何在 Spring Boot 项目中读取配置文件中的参数。 为什么需要读取配置文件中的...
要从`properties`文件中读取配置值,可以使用`@Value`注解。例如,如果你在`application.properties`中有这样一个配置: ``` db.url=jdbc:mysql://localhost:3306/mydb ``` 在Java类中,你可以这样注入这个值:...
最后,运行测试类时,SPRINGBOOT 框架将自动读取配置文件中的数据,并将其映射到 `Coffer` 对象中。输出结果如下所示: ``` Coffer{ brand='Camel', length=100.0, width=80.0, height=60.0, contains=...
Spring Boot 读取自定义配置文件节点的方法 Spring Boot 框架提供了多种方式来读取自定义配置文件节点,以下是其中的两种常见方法: ...通过选择合适的方法,我们可以轻松地读取和使用配置文件中的节点信息。
例如,我们可以在application.properties文件中配置数据源的相关信息,如下所示: ``` spring.datasource.userName=root spring.datasource.password=123456 spring.datasource.url=jdbc:mysql://localhost:3306/...
在`pom.xml`文件中,添加以下依赖: ```xml <groupId>org.springframework.boot <artifactId>spring-boot-starter-web <groupId>org.springframework.cloud <artifactId>spring-cloud-starter-kubernetes-...
3. **配置文件间的引用**:在配置文件中,可以使用`${key}`引用其他配置项的值,如`server:name: this is ${user.name}`。 在实际开发中,往往需要针对不同的环境(如开发、测试、生产)使用不同的配置。SpringBoot...
总结一下,Spring Boot提供了多种方式来读取`.properties`和`.yml`配置文件中的数据,包括使用`@Value`注解直接注入字段、创建配置类以及使用`@ConfigurationProperties`进行更高级的数据绑定。这些机制让开发者能...
这里,`prefix = "student"`指定了配置前缀,SpringBoot会自动将配置文件中`student`下的所有属性绑定到`Student`对象上。 **第三种方式:@Environment** 虽然不常用,但`@Environment`注解也可以用来获取配置信息...
总的来说,Spring Boot通过`@ConfigurationProperties`和`@Component`注解使得从`properties`或`yml`配置文件中获取和使用配置变得非常简单。开发者只需创建一个Java类,声明属性,并让Spring Boot自动绑定配置,...
最新版的druid和旧版在filter配置方面有些不同,以下是旧版druid中配置filter: spring: ##数据库连接信息 datasource: url: jdbc:mysql://localhost:3306/young username: root password: root driver-class...