SpringBoot中的yaml怎么配置

这篇文章主要讲解了“Spring Boot中的yaml怎么配置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring Boot中的yaml怎么配置”吧!

十多年的宁县网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整宁县建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“宁县网站设计”,“宁县网站推广”以来,每个客户项目都认真落实执行。

首先 application.yaml 在 Spring Boot 中可以写在四个不同的位置,分别是如下位置:

  1. 项目根目录下的 config 目录中

  2. 项目根目录下

  3. classpath 下的 config 目录中

  4. classpath 目录下

四个位置中的 application.yaml 文件的优先级按照上面列出的顺序依次降低。即如果有同一个属性在四个文件中都出现了,以优先级高的为准。

那么 application.yaml 是不是必须叫 application.yaml 这个名字呢?当然不是必须的。开发者可以自己定义 yaml 名字,自己定义的话,需要在项目启动时指定配置文件的名字,像下面这样:

Spring Boot中的yaml怎么配置  

当然这是在 IntelliJ IDEA 中直接配置的,如果项目已经打成 jar 包了,则在项目启动时加入如下参数:

java -jar myproject.jar --spring.config.name=app
 

这样配置之后,在项目启动时,就会按照上面所说的四个位置按顺序去查找一个名为 app.yaml 的文件。当然这四个位置也不是一成不变的,也可以自己定义,有两种方式,一个是使用 spring.config.location 属性,另一个则是使用 spring.config.additional-location 这个属性,在第一个属性中,表示自己重新定义配置文件的位置,项目启动时就按照定义的位置去查找配置文件,这种定义方式会覆盖掉默认的四个位置,也可以使用第二种方式,第二种方式则表示在四个位置的基础上,再添加几个位置,新添加的位置的优先级大于原本的位置。

配置方式如下:

Spring Boot中的yaml怎么配置  

这里要注意,配置文件位置时,值一定要以 / 结尾。

 

数组注入

yaml 也支持数组注入,例如

my:
 servers:
- dev.example.com
- another.example.com
 

这段数据可以绑定到一个带 Bean 的数组中:

@ConfigurationProperties(prefix="my")
@Component
public class Config {

private List servers = new ArrayList();

public List getServers() {
return this.servers;
}
}
 

项目启动后,配置中的数组会自动存储到 servers 集合中。当然,yaml 不仅可以存储这种简单数据,也可以在集合中存储对象。例如下面这种:

redis:
 redisConfigs:
   - host: 192.168.66.128
     port: 6379
   - host: 192.168.66.129
     port: 6380
 

这个可以被注入到如下类中:

@Component
@ConfigurationProperties(prefix = "redis")
public class RedisCluster {
   private List redisConfigs;
//省略getter/setter
}
     

优缺点

不同于 properties 文件的无序,yaml 配置是有序的,这一点在有些配置中是非常有用的,例如在 Spring Cloud Zuul 的配置中,当我们配置代理规则时,顺序就显得尤为重要了。当然 yaml 配置也不是万能的,例如,yaml 配置目前不支持 @PropertySource 注解。

感谢各位的阅读,以上就是“Spring Boot中的yaml怎么配置”的内容了,经过本文的学习后,相信大家对Spring Boot中的yaml怎么配置这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


网页题目:SpringBoot中的yaml怎么配置
浏览路径:http://hbruida.cn/article/ggjpdj.html