下面来说说将工程改成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文件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)