yaml格式的字符串1deploy url 123456qqcom name 123456swagger enabled $swaggerEnabledfalseyaml格式的字符串2server port 50012 tomcat uri-encoding UTF-8 servlet context-path apits-dcspring profiles act
您可以使用SnakeYAML库来解析和比较这两个YAML字符串。以下是使用Java 8代码实现的示例:
import org.yaml.snakeyaml.Yaml;
import java.util.LinkedHashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
String yaml1 = "deploy:\n" +
" url: 123456@.qq.com\n" +
" name: 123456\n" +
"swagger:\n" +
" enabled: ${swaggerEnabled:false}";
String yaml2 = "server:\n" +
" port: 50012\n" +
" tomcat:\n" +
" uri-encoding: UTF-8\n" +
" servlet:\n" +
" context-path: /api/ts-dc\n" +
"spring:\n" +
" profiles:\n" +
" active:\n" +
" - ${profileName:prod}\n" +
" servlet:\n" +
" multipart:\n" +
" max-file-size: 100MB\n" +
" max-request-size: 100MB\n" +
" ######################################mysql基础数据库-需要修改链接 start################################################\n" +
" datasource:\n" +
" type: com.alibaba.druid.pool.DruidDataSource\n" +
" driver-class-name: com.mysql.jdbc.Driver\n" +
" url: jdbc:mysql://${mysqlIp:172.17.0.1}:${mysqlPort:3306}/ly_dc?characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai\n" +
" username: ${mysqlUsername:root}\n" +
" password: ${mysqlPassword:Ly37621040}\n" +
" druid:\n" +
" initial-size: 5\n" +
" min-idle: 5\n" +
" max-active: 20\n" +
" max-wait: 60000\n" +
" pool-prepared-statements: false\n" +
" max-pool-prepared-statement-per-connection-size: 20\n" +
" max-open-prepared-statements: 20\n" +
" validation-query: SELECT 'x' from dual\n" +
" validation-query-timeout: 30000\n" +
" test-on-borrow: true\n" +
" test-on-return: false\n" +
" test-while-idle: true\n" +
" time-between-eviction-runs-millis: 60000\n" +
" min-evictable-idle-time-millis: 300000\n" +
" max-evictable-idle-time-millis: 300000\n" +
" filters: stat,wall,log4j\n" +
" filter:\n" +
" wall:\n" +
" enabled: true\n" +
" config:\n" +
" comment-allow: true\n" +
" multi-statement-allow: true\n" +
" web-stat-filter:\n" +
" enabled: true #是否启用StatFilter默认值true\n" +
" url-pattern: /druid/*\n" +
" # exclusions: *.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*\n" +
" session-stat-enable: true\n" +
" session-stat-max-count: 10\n" +
" principal-session-name:\n" +
" principal-cookie-name:\n" +
" profile-enable: true\n" +
" stat-view-servlet:\n" +
" enabled: true #是否启用StatViewServlet默认值true\n" +
" url-pattern: /druid/*\n" +
" reset-enable: true\n" +
" login-username: admin\n" +
" login-password: Ly37621040\n" +
" allow:\n" +
" deny:\n" +
" ######################################mysql基础数据库-需要修改链接 end################################################\n" +
" ##########################################redis-需要修改链接 start ##############################################\n" +
" redis:\n" +
" database: 1 # Redis数据库索引(默认为0)\n" +
" host: ${redisIp:172.17.0.1} # Redis服务器地址\n" +
" port: 16377 # Redis服务器连接端口\n" +
" password: 37621040 #Redis服务器连接密码(默认为空)\n" +
" timeout: 0 # 连接超时时间(毫秒)\n" +
" jedis:\n" +
" pool:\n" +
" max-idle: 8 # 连接池中的最大空闲连接\n" +
" min-idle: 1 # 连接池中的最小空闲连接\n" +
" max-active: 8 # 连接池最大连接数(使用负值表示没有限制)\n" +
" max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)\n" +
" ##########################################redis-需要修改链接 end ##############################################\n" +
" ##########################################rabbitmq-需要修改链接 start ##############################################\n" +
" rabbitmq:\n" +
" host: ${rabbitmqIp:172.17.0.1}\n" +
" port: 5672\n" +
" username: admin\n" +
" password: 37621040\n" +
" ##########################################rabbitmq-需要修改链接 end ##############################################\n" +
" flyway:\n" +
" enabled: true\n" +
" baseline-on-migrate: true\n" +
" clean-on-validation-error: true\n" +
" validate-on-migrate: false\n" +
" #目标版本\n" +
" #target:\n" +
" encoding: UTF-8\n" +
" # 迁移sql脚本文件存放路径,默认db/migration\n" +
" locations: classpath:db/migration\n" +
" # 迁移sql脚本文件名称的前缀,默认V\n" +
" sql-migration-prefix: V\n" +
" # 迁移sql脚本文件名称的分隔符,默认2个下划线__\n" +
" sql-migration-separator: __\n" +
" # 迁移sql脚本文件名称的后缀\n" +
" sql-migration-suffixes: .sql\n" +
" ##########################################quartz-需要修改链接(与基础库一样) start ##############################################\n" +
" quartz:\n" +
" properties:\n" +
" org:\n" +
" quartz:\n" +
" #quartz数据库连接(与基础库一样)\n" +
" dataSource:\n" +
" qzDS:\n" +
" URL: ${spring.datasource.url}\n" +
" driver: ${spring.datasource.driver-class-name}\n" +
" maxConnections: 10\n" +
" password: ${spring.datasource.password}\n" +
" user: ${spring.datasource.username}\n" +
" #quartzjob存储方式\n" +
" jobStore:\n" +
" #jdbc持久化\n" +
" class: org.quartz.impl.jdbcjobstore.JobStoreTX\n" +
" #数据源连接名\n" +
" dataSource: qzDS\n" +
" #驱动代表\n" +
" driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate\n" +
" #触发器忍耐时间 超过5s则错过\n" +
" misfireThreshold: 5000\n" +
" #表前缀\n" +
" tablePrefix: LY_QRTZ_\n" +
" useProperties: false\n" +
" scheduler:\n" +
" instanceName: ly_ts_scheduler\n" +
" threadPool:\n" +
" class: org.quart
原文地址: https://www.cveoy.top/t/topic/ixps 著作权归作者所有。请勿转载和采集!