Spring:使用year-month自动创建属性值?

时间:2017-03-10 09:47:45

标签: java spring properties spring-4 spring-el

我有一个Spring 4.3应用程序,它通过JDBC读取PostgreSQL数据库。但是数据库URL以当前年份和月份结束,例如backup_2017-03。目前,这是根据需要手动调整的。

此网址是否可以自动创建,例如使用SpEL?

以下是application-context.xml的相关摘要:

<bean class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
    <property name="locations">
        <list>
            <value>database.properties</value>
        </list>
    </property>
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="${database.driverClassName}"/>
    <property name="url" value="${database.url}"/>
</bean>

以下是database.properties的属性:

database.driverClassName=org.postgresql.Driver
database.url=jdbc:postgresql://test-db3:5432/backup_2017-03

1 个答案:

答案 0 :(得分:1)

转出SpEL不复杂:

<property name="url" value="${database.url}#{T(java.time.format.DateTimeFormatter).ofPattern('yyyy-MM').format(T(java.time.LocalDate).now()) }"/>

database.url=jdbc:postgresql://test-db3:5432/backup_