SpringBoot读取配置的三种方式

   一、用@Value("${properties的key}")获取

   二、用Environment对象:

  • environment对象是Spring提供的对象,它封装了所有的配置属性信息
  • 只要拿到这个对象,就得到了所有的配置信息
  • 好处:只要得到environment对象,就得到所有配置了,不需要一个个用注解@Value了
  • 坏处:所有参数都拿到了,即使用不到的,在这个对象里也有

  三【掌握】、用@ConfigurationProperties注解,把需要用到的配置,封装成一个JavaBean对象

  • 1. 创建一个JavaBean:用于封装需要用到的配置信息
  • 2. 在类上加注解@ConfigurationProperties,设置前缀
  • 3. 在配置类(@Configuration)上启用 @EnableConfigurationProperties
### 回答1: Spring Boot 支持多种方式读取配置文件,常见的有以下几种: 1. application.properties / application.yml : 默认位于项目的 classpath 下,可以通过 @Value 注解获取配置的值。 2. 命令行参数: 通过 java -jar xxx.jar --key=value 的方式传入。 3. 外部配置文件: 通过 spring.config.name 和 spring.config.location 配置,指定配置文件的名称和路径。 4. 环境变量: 通过系统环境变量配置配置项为 SPRING_APPLICATION_JSON。 以上四种方式的优先级依次降低,后面的会覆盖前面的配置。 ### 回答2: Spring Boot对于配置文件读取非常灵活,支持多种格式的配置文件,例如:Properties文件、YAML文件等。在Spring Boot中,可以通过以下几种方式读取配置文件: 1. 使用@SpringBootApplication注解,在主类上加入该注解后,Spring Boot会自动扫描主类所在包及子包中的application.properties或application.yml文件,并将其中的配置项加载到Spring容器中。 2. 通过@ConfigurationProperties注解,将配置文件的属性注入到Bean中,在类上使用@ConfigurationProperties注解,并指定prefix,然后在Bean中通过属性进行获取。 3. 通过@Value注解,直接将配置文件中的值注入到Bean的属性中,在类中使用@Value注解,并指定${key}的方式获取配置文件中的值。 4. 使用Spring Environment API,通过Environment接口获取配置文件中的值,例如使用environment.getProperty(“key”)方法获取配置文件中的值。 5. 使用Spring Boot的外部化配置特性,可以通过命令行参数、操作系统环境变量、JNDI等方式设置配置文件中的属性的值。 以上就是Spring Boot读取配置文件的几种方式,具体使用方式需要根据项目的实际需求进行选择和配置。在实际项目中,一般会结合多种方式配合使用,以达到灵活和高效的配置效果。 ### 回答3: Spring Boot是一种基于Spring Framework的轻量级应用程序开发框架,它采用了约定大于配置方式,可以快速地开发和构建出高效、可扩展、可靠的Java应用程序。在Spring Boot开发中,读取配置文件是非常重要的一个环节,Spring Boot提供了多种方式读取配置文件,这里介绍其中的三种常见方式。 1. application.properties/application.yml 这是Spring Boot最常用的一种读取配置文件方式。在Spring Boot的默认配置中,可以同时使用两种文件格式来定义配置信息,分别是application.properties和application.yml。这两种文件格式可以包含相同的设置信息,并且可以混合使用。 application.properties是一种基于键值对的配置文件格式,通过在文件中指定“键=值”的方式来定义配置信息。例如: server.port=8080 spring.datasource.url=jdbc:mysql://localhost:3306/test spring.datasource.username=root spring.datasource.password=123456 application.yml是一种基于缩进的配置文件格式,通过缩进和冒号的方式来定义配置信息。例如: server: port: 8080 spring: datasource: url: jdbc:mysql://localhost:3306/test username: root password: 123456 2. @ConfigurationProperties注解 @ConfigurationProperties注解是一种基于JavaBean的配置方式,可以将配置信息自动绑定到JavaBean的属性中,从而轻松地管理和配置整个应用程序的配置信息。例如: @Configuration @ConfigurationProperties(prefix = "spring.datasource") public class DataSourceProperties { private String url; private String username; private String password; // 省略getter和setter方法 } 通过将@ConfigurationProperties注解和prefix属性与JavaBean关联起来,可以自动将application.properties或application.yml文件中以spring.datasource作为前缀的所有配置信息绑定到DataSourceProperties类的对应属性中。 3. @Value注解 @Value注解是一种直接将配置信息注入到Java类中的方式。例如: @Service public class UserServiceImpl implements UserService { @Value("${server.port}") private int serverPort; // 省略其他内容 } 通过@Value注解,可以直接将application.properties或application.yml文件中的server.port配置信息注入到serverPort变量中。 总之,Spring Boot提供了多种灵活且方便的方式读取配置文件,我们可以根据实际应用场景和需求选择相应的方式来管理和配置应用程序的配置信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值