Spring: 自动创建一个带年月的属性值?
Spring: Automatically create a property value with year-month?
我有一个 Spring 4.3 应用程序,它通过 JDBC 读取 PostgreSQL 数据库。但是数据库 url 以当前年份和月份结束,例如backup_2017-03
。目前这是根据需要手动调整的。
这个 URL 可以自动创建吗? 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
事实证明 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_
我有一个 Spring 4.3 应用程序,它通过 JDBC 读取 PostgreSQL 数据库。但是数据库 url 以当前年份和月份结束,例如backup_2017-03
。目前这是根据需要手动调整的。
这个 URL 可以自动创建吗? 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
事实证明 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_