由於我們針對不同的構建和部署使用不同的application.properties文件(例如對於不同類型的開發人員和測試環境,除了部署到Prod之外),我希望能夠更改配置了哪個init方法對於Spring的application-context.xml中的Flyway bean。我想要做這樣的事情:我應該能夠爲Flyway bean的init方法使用Spring佔位符嗎?
<context:property-placeholder location="classpath:application.properties,classpath:application-instance.properties"/>
<bean id="flyway" class="org.flywaydb.core.Flyway" init-method="${flyway.database.init.method}">
<property name="baselineOnMigrate" value="true" />
<property name="locations" value="classpath:/db-migrations/sql/" />
<property name="dataSource" ref="dataSource" />
</bean>
但是,即使我使用這個application.properties中在XML配置其他佔位符的文件,我得到這個錯誤:
.BeanDefinitionValidationException: Couldn't find an init method named '${flyway.database.init.method}' on bean with name 'flyway'
您使用的是什麼版本的彈簧? – leeor
我們正在使用4.0.2 – tblank