Свойства Spring: yml против синтаксиса файла свойств, не взаимозаменяемы? - PullRequest
0 голосов
/ 23 декабря 2018

Я работал с некоторыми из упомянутых здесь свойств пружины: application-properties

В частности, liquibase properties.

В моем файле yml, если я использую древовидный синтаксис yml:

spring:
  liquibase:
    change-log: classpath:/db/changelog/db.changelog-master-test-h2.yml

Spring не принимает значение.(В частности, Spring org.springframework.boot.autoconfigure.liquibase.LiquibaseProperties класс не принимает значение)

Но если я использую синтаксис «file file»:

spring.liquibase.change-log: my-path

Spring принимает значение.

У меня сложилось впечатление, что в среде Spring 2 синтаксиса были взаимозаменяемыми, но, по-видимому, нет.

Что здесь происходит?

ПРИМЕЧАНИЕ: я попробовал эти варианты.

Эти работы:

spring.liquibase.change-log: classpath:/db/changelog/db.changelog-master-test-h2.yml

spring.liquibase.changeLog: classpath:/db/changelog/db.changelog-master-test-h2.yml

Они не работают:

spring:
  liquibase:
    change-log: classpath:/db/changelog/db.changelog-master-test-h2.yml

spring:
  liquibase:
    changeLog: classpath:/db/changelog/db.changelog-master-test-h2.yml

полное содержание моего application.yml

---

spring.profile: h2


spring:
  datasource:
    url: jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
    driver-class-name: org.h2.Driver
  jpa:
    database: h2
    hibernate:
      ddl-auto: none
    properties:
      hibernate:
        dialect: org.hibernate.dialect.H2Dialect
        format_sql: true
    show-sql: true
  liquibase:
    enabled: true
    # change-log: classpath:/db/changelog/db.changelog-master-test-h2.yaml
    url: jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
    default-schema: PUBLIC

spring.liquibase.change-log: classpath:/db/changelog/db.changelog-master-test-h2.yaml
...