【Spring Boot】配置

- 日理万妓 2024-04-17 05:46 143阅读 0赞

Spring Boot默认会使用两种全局配置文件 .properties 和 .yml。比如更改一下端口号
在这里插入图片描述

1.yml配置文件值注入

yml文件:在为属性赋值的时候,需要使用冒号加空格。
在这里插入图片描述
在这之前我们需要在pom中添加依赖,这样的话就会有相关的提示了

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-configuration-processor</artifactId>
  4. <optional>true</optional>
  5. </dependency>

编写bean
在这里插入图片描述
最后我们在测试类中进行测试:
在这里插入图片描述
运行就OK了。

2.在properties中配置

在这里插入图片描述
其余的代码和1中的一样,值得注意的是,如果两种配置文件都写了相同的配置,那么会优先使用properties中的配置

3.使用@Value注解来绑定值

在这里插入图片描述
可以看到我们可以使用${},和#{}的方式来使用,




































@ConfigurationProperties @Value
功能 批量注入配置文件中的属性 一个个指定
松散绑定(松散语法) 支持 不支持
SpEL 不支持 支持
JSR303数据校验 支持 不支持
复杂类型封装 支持 不支持

4.@PropertySource

用来指定使用哪一个配置文件的值
在这里插入图片描述
表示使用类路径下的person配置文件的值

5.@ImportResource

用来加载spring的配置文件,并且使他生效。
我们来写一个Hello
在这里插入图片描述
在类路径下写一个spring配置文件
在这里插入图片描述
要使这个文件生效需要在启动类上加上@ImportResource注解,并且指定相应的文件
在这里插入图片描述
然后测试一下
在这里插入图片描述
结果为true,表示beans.xml生效了

使用xml配置文件是我们之前使用的方式,但是Spring Boot推荐我们使用配置类的方式
在这里插入图片描述

6.配置文件占位符

在这里插入图片描述
占位符获取之前配置的值,如果没有可以是用:指定默认值。
其中
r a n d o m . v a l u e 、 {random.value}、 random.value、{random.int}、${random.long}
r a n d o m . i n t ( 10 ) 、 {random.int(10)}、 random.int(10)、{random.int[1024,65536]}
表示一些随机的值

7.Profile 切换开发环境

7.1多Profile文件

我们在主配置文件编写的时候,文件名可以是 application-{profile}.properties/yml
默认使用application.properties的配置;
新建两个文件,在里面更改应用的端口号
在这里插入图片描述
当需要使用哪一个配置文件的时候,使用以下代码就可以激活

  1. spring.profiles.active=xxxx

7.2 yml文件配置

在这里插入图片描述

7.3 激活指定profile

  1. 在配置文件中指定 spring.profiles.active=dev
  2. 命令行:

java -jar jar包名.jar –spring.profiles.active=dev

可以直接在测试的时候,配置传入命令行参数
在这里插入图片描述

  1. 虚拟机参数;
    -Dspring.profiles.active=dev
    在这里插入图片描述

8.配置文件加载位置

配置文件可以放在
–file:./config/
–file:./
–classpath:/config/
–classpath:/

而且他们是有优先级的,–file:./config/最高,高优先级会覆盖低优先级,
在这里插入图片描述

这个是官方文档的说法:https://docs.spring.io/spring-boot/docs/2.1.7.RELEASE/reference/html/boot-features-external-config.html
在这里插入图片描述
但是我在使用的时候只用类路径下生效,使用的是2.1.7 我也没懂原因。

具体配置文件加载顺序官方文档中也有介绍
在这里插入图片描述

那么在配置文件中可以配置哪些属性呢,在官方文档中可以找到:https://docs.spring.io/spring-boot/docs/2.1.7.RELEASE/reference/html/common-application-properties.html

英文看不懂,用插件翻译了一下
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,143人围观)

还没有评论,来说两句吧...

相关阅读

    相关 spring boot 配置

    什么Spring Boot?         Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架