SpringBoot的配置文件有哪几种格式?

SpringBoot的配置文件有哪几种格式?,第1张

SpringBoot中的配置文件主要有三种格式,properties、yaml、和xml方式。- 其中properties格式配置文件后缀是.properties,配置项为:server.port = 9090- yaml格式配置文件后缀是.yml,配置项是:server.port: 9090在SpringBoot中,使用最广泛的配置文件是yaml,yaml之所以流行,除了他配置语法精简之外,还因为yaml是一个跨编程语言的配置文件。在SpringBoot中,除了yaml之外,properties也比较常用,但是XML几乎不用,看得出来Spring团队非常痛恨XML配置文件!认为它不是一个好的语言。如果你对常见的配置文件有哪几种格式不熟悉,就去黑马程序员官网视频库看免费视频。

有些用过springBoot工程的人总有疑惑,springBoot工程中是有一个application.yml配置文件的啊,其实application.yml的功能和application.properties是一样的,不过因为yml文件是树状结构,写起来有更好的层次感,更易于理解,所以很多人都选择了yml文件。

下面来说说将工程改成application.yml配置文件的详细步骤

第一步:在 application.properties 文件的同级目录下新建一个 application.yml 文件

第二步:添加application.yml文件中的配置如下:

server:

  port: 8088

spring:

    datasource:

        name: test

        url: jdbc:mysql://localhost:3306/test

        username: root

        password: xxx

        # 使用druid数据源

        type: com.alibaba.druid.pool.DruidDataSource

        driver-class-name: com.mysql.jdbc.Driver

        filters: stat

        maxActive: 20

        initialSize: 1

        maxWait: 60000

        minIdle: 1

        timeBetweenEvictionRunsMillis: 60000

        minEvictableIdleTimeMillis: 300000

        validationQuery: select 'x'

        testWhileIdle: true

        testOnBorrow: false

        testOnReturn: false

        poolPreparedStatements: true

        maxOpenPreparedStatements: 20

如图所示:

第三步:删除原有的application.properties文件

文件结构如图示:

第四步,重新编译maven工程

找到maven工具栏,双击clean,待执行完成后,双击install,执行完成则编译成功。

第四步,重启springboot项目

没有任何问题:

The End

最常见的两种

接下来要讲的几种case要用到如下的yml文件

application.yml

application1.yml

借助Spring提供的一个类,org.springframework.core.env.Environment, 它继承了PropertyResolver, 所以可以当作属性解析器使用

Spring提供了YamlPropertiesFactoryBean可以读取自定义配置yml文件,不再拘泥于application.yml及其激活的其他配置文件

存在问题: 那就是只有在这个接口的请求中能够取到这个属性的值,如果再写一个接口,不使用YamlPropertiesFactoryBean读取配置文件,即使之前的方法已经读取过这个yml文件一次了,第二个接口取到的仍然还是空值。

解决方式: 配合PropertySourcesPlaceholderConfigurer使用,它实现了BeanFactoryPostProcessor接口,也就是一个bean工厂后置处理器的实现,可以将配置文件的属性值加载到一个Properties文件中。使用方法如下:

除了使用YamlPropertiesFactoryBean将yml解析成Properties外,其实我们还可以使用YamlMapFactoryBean解析yml成为Map

使用snakeYml,需要引入依赖

使用方式:

使用jackson,需要引入依赖

使用jackson读取yml也非常简单,这里用到了常用的ObjectMapper,在创建ObjectMapper对象时指定使用YAML工厂,之后就可以简单的将yml映射到实体:

jackson还可以生成yml文件


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/6054459.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-13
下一篇 2023-03-13

发表评论

登录后才能评论

评论列表(0条)

保存