yml配置,yml配置redis集群

http://www.itjxue.com  2023-01-22 16:04  来源:未知  点击次数: 

Docker-Compose.yml配置讲解

yum install docker-compose 安装docker-compose

Docker-Compose.yml标准配置文件应该包含 version、services、networks 三大部分,其中最关键的就是 services 和 networks 两个部分.

报以上错误启动 service docker restart

启动docker-compose.yml命令:docker-compose -f docker-compose.yml up -d

docker-compose config -q 当配置正确时,不输出任何内容,当文件配置错误,输出错误信息

查看启动的容器docker-compose ps

springBoot中的application.yml配置文件

有些用过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

springboot加载properties和yml配置文件的顺序

假设一个项目在同一位置同时存在application.properties和application.yml文件,

且其中都含有相同的某个key,但value不同,如:

application.properties中:server.port=8001,

application.yml中:server.port=8888。

问题:springboot是否都加载这两个配置文件?如果两个文件有相同的key,取哪一个文件的value?

答: 都加载,且按properties→yml的顺序加载。

在看到spring.factories中,配置加载器顺序是先执行PropertiesPropertySourceLoader再到YamlPropertySourceLoader。

在ConfigFileApplicationListener获取server.port这个key的value时候,可以发现两配置文件全都加载进去了,且注意顺序,application.properties文件在前。

getSource()方法获取到两个Source,先从application.properties文件中查找值,一旦找到立即返回,如果找不到再从application.yml中查找。

单体Spring boot引入外部配置文件yml,properties

我们在做微服务项目时候会引入spring cloud框架,对于配置文件我们就会通过spring cloud config来配置,实现线上环境动态修改配置文件属性而不需要重新打jar 包。 但是对于单体的spring boot工程,我们又希望可以在生产环境中方案修改配置文件属性。

通过引入外部配置文件,应用启动时候设置配置文件的自动加载

1: 在单体工程的root目录下添加一个config目录,然后新建我们的properties, 如:jdbc-db.properties, redis.properties

2: 然后在我们的application启动类上添加@propertySources注解引入我们的外部文件

注意:因为PropertySources 默认只解析.properties文件,如果要解析yml文件,需要指定factory只需要实现org.springframework.core下的 PropertySourceFactory 接口就OK了。

简单的properties配置文件只需要按如下方式配置即可

只需要1,2步骤就可以完成外部文件的加载,如果涉及到线上修改配置就只需要手动修改配置文件,重新启动应用即可生效。

多个Yaml配置文件

当一个项目中有多个yml配置文件的时候,可以以application-**.yml命名;在application.yml中配置项目使用激活这些配置文件即可。多个文件名只需要写application-之后的名称,在多个文件之间使用,隔开。在两个配置文件中如果存在同名的配置项的话会以properties文件的为主。

激活配置文件application-a.yml与application-b.yml

SpringBoot使用配置类映射yml配置文件信息

使用configurationProperties注解并指明在配置文件中的前缀,然后用component注解注册进ioc容器。

我这里定义的两个静态内部类,同时创建了各自的实例,比如这个Email静态内部类中有三个属性,那么配置文件就可以是mq.myrabbit.email.queue来对静态内部类中的属性进行一个映射

在yml中写配置

项目编译后,在yml中写配置会自动显示出来自己定义的配置映射类所具有的属性,如下图所示:

然后在yml配置文件中,写各个配置,配置类就会读取到了

(责任编辑:IT教学网)

更多

推荐Oracle文章