最近项目中使用到了spring boot,这次带来点关于spring boot中properties文件的使用方法
首先你可以定义一个properties文件,如下所示:
// 文件名可以自行定义,这里名为uploaddefine.properties upload.image[JPG]=.jpg upload.image[PNG]=.png upload.office[CSV]=.csv upload.office[EXCEL]=.excel upload.text[txt]=.txt upload.text[epub]=.epub
在这个文件中,我们定义了三个大类,分别为image、office、text
我们的目标是能够让程序自动读取我们定义的文件内容,下面是具体实现。
首先,在类上要表明的注解为:
@Configuration @ConfigurationProperties(prefix = "upload") @PropertySource("classpath:uploaddefine.properties") public class UploadDefineConfig { omitted...... }
这样一来就能是程序自动读取我们的配置文件,
@ConfigurationProperties(prefix = "upload"):读取前缀为 upload 的内容
@PropertySource("classpath:uploaddefine.properties"):定义了要读取的properties文件的位置
接下来就需要将内容读到我们事先定义好了的集合中了:
public static Map<String, String> image = new HashMap<>(); public static Map<String, String> office = new HashMap<>(); public static Map<String, String> text = new HashMap<>(); //注意需要添加get/set方法,并且这两个方法不能为static
我们将Map定义为了static是为了方便使用,你也可以使用非静态形式的。
请注意,我们将每一个Map对象的名字定义成了properties中prefix之后的名字,只有这样才能够让程序自动将properties文件的内容添加到我们的Map对象之中。
此时,我们的自定义properties文件就大功告成了!快点来试一下吧!
我们通过一个http请求来获取这些内容,下面是返回的结果:
{ "image": { "JPG": ".jpg", "PNG": ".png" }, "office": { "EXCEL": ".excel", "CSV": ".csv" }, "text": { "txt": ".txt", "epub": ".epub" } }
可以看到我们的内容已经成功的被读取出来了,很简单吧
如果你不想用这种K-V形式,而是直接一个List<String>获取所有的值的话,也很简单
只要在properties中这样定义即可:
my.servers[0]=127.0.0.1:8080 my.servers[1]=127.0.0.1:8081 my.servers[2]=127.0.0.1:8082 // 在class文件中,则需要这样 public static List<String> servers = new ArrayList<>();
对于中小型的项目,十分推荐spring boot,远离配置地狱
相关推荐
使用配置文件之后,Spring Boot 启动时,会自动把配置信息读取到 Spring 容器中,并覆盖 Spring Boot 的默认配置。 读取和设置配置信息 那么,我们怎么来读取和设置这些配置信息呢?有四种方式: 1. 通过命令行来...
Spring Boot的自定义配置属性源(PropertySource)是框架中一个强大的特性,它允许开发者引入额外的配置文件或从各种来源获取配置,以满足不同环境的特定需求。配置覆盖是解决多环境配置问题的一种常见策略,它允许...
在本文中,我们将详细介绍 Spring Boot 微服务自定义 Starter 的原理,并通过示例代码来演示其实现过程。 一、 Spring Boot 微服务架构下的 Starter 机制 在 Spring Boot 应用程序中,Starter 机制是指通过依赖...
通过查看这些文件,你可以学习如何将批处理逻辑集成到Spring Boot应用中,并理解如何配置和运行批处理作业。 总的来说,Spring Boot与Spring Batch的结合为开发批处理应用提供了一种强大而灵活的解决方案。通过学习...
1.28 Spring Boot使用自定义的properties 1.29 改变自动扫描的包 1.30 Spring Boot Junit单元测试 1.31 SpringBoot启动时的Banner设置 1.32 Spring boot 文件上传(多文件上传) 1.33 导入时如何定制spring-boot依赖...
在Spring Boot生态系统中,自定义Starter是一种强大的方式来封装和重用代码,使得其他开发者可以轻松地在他们的项目中引入特定的功能或服务。本文将深入探讨如何通过源码分析来创建一个自定义的Spring Boot Starter...
这样,Spring Boot就能识别并解析这些自定义YAML配置文件中的属性。 Spring Boot提供四种主要的事件监听器接口,分别是: 1. `ApplicationStartedEvent`:在Spring Boot应用启动后触发。 2. `...
5. **YAML/Properties配置**:Spring Boot支持使用`application.yml`或`application.properties`文件进行配置,YAML提供了更友好的层次结构,而Properties则更接近Java的属性格式。 6. **Spring Data**:Spring ...
- **读取系统环境变量和自定义 properties 文件**:Spring Boot 支持通过 @Value 注解读取系统环境变量和自定义 properties 文件。 - **自定义包扫描和启动 Banner**:可以通过配置改变 Spring Boot 应用默认的包...
本文将深入探讨如何在Spring Boot项目中整合Mybatis,并利用Druid数据库连接池进行性能监控。 首先,我们要理解Spring Boot的核心理念——约定优于配置。在Spring Boot项目中,我们不再需要手动编写大量的XML配置...
- **文档内容**:本文档主要介绍了如何使用Spring Boot快速搭建和部署应用程序,并提供了详细的指导和实例。 - **获取帮助**:提供官方文档、论坛、社区等途径获取技术支持。 - **第一步**:从环境配置到创建基本的...
为了更好地适应不同的部署环境,Spring Boot提供了多种配置特性,包括外化配置、配置随机值、访问命令行属性、使用YAML代替Properties文件、特定的Profile属性、属性占位符等。YAML是一种标记语言,它易于阅读,适用...
总的来说,Spring Boot通过`@ConfigurationProperties`和`@Component`注解使得从`properties`或`yml`配置文件中获取和使用配置变得非常简单。开发者只需创建一个Java类,声明属性,并让Spring Boot自动绑定配置,...
配置文件是 Spring Boot 中的一个核心概念,通过配置文件,我们可以对应用程序的行为和配置进行自定义。 Spring Boot 支持多种配置文件格式,包括 properties、YAML、XML 等。 在配置文件中,我们可以配置应用程序...
在Spring Boot应用中,配置文件的管理是至关重要的,它允许开发者灵活地配置应用程序的行为,而无需修改代码。Spring Boot提供了多种方式来读取和使用这些配置文件,使其更加便捷和高效。以下将详细介绍Spring Boot...
### 自定义Properties文件 在实际项目中,我们经常需要自定义一些属性以适应不同的环境配置。这时,你可以创建自定义的properties文件。例如,创建一个`custom.properties`文件,并在其中定义一些自定义的参数: `...
Spring Boot中有两个重要的配置文件:`application.properties` 或 `application.yml` 和 `bootstrap.properties` 或 `bootstrap.yml`。 - **application 配置文件**:主要用于Spring Boot项目的自动化配置,定义...
Spring Boot默认使用`application.properties`或`application.yml`作为主要的配置文件。这些文件可以用来覆盖Spring Boot的自动配置,或者添加自定义的配置项。 **5. 健康检查与Actuator** Spring Boot提供了...
Spring Boot还支持多种外部配置方式,如application.properties或YAML文件、环境变量、命令行参数等。`ConfigFileApplicationListener`和`EnvironmentPostProcessor`接口在源码中扮演着读取和处理这些配置的关键角色...