我有一个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
答案 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_