在没有XML的情况下在Spring中配置数据源URL

时间:2015-04-29 10:11:08

标签: java spring spring-mvc jpa

我有一个使用Spring Boot的简单Web MVC应用程序,它与数据库通信; DB是H2,直到现在一直在内存中。我想更改它,因此使用jdbc:h2:file:...网址。

到目前为止,我还不需要添加任何XML来配置我的应用程序,如果可能的话,我希望它保持这种状态。但我无法弄清楚如何指定不同的JDBC URL。我通过将数据源传递给@Bean方法获取并检查了数据源:

org.apache.tomcat.jdbc.pool.DataSource@745e6f01{ConnectionPool[
defaultAutoCommit=null; 
defaultReadOnly=null; 
defaultTransactionIsolation=-1; 
defaultCatalog=null; 
driverClassName=org.h2.Driver; 
maxActive=100; 
maxIdle=100; 
minIdle=10; 
initialSize=10; 
maxWait=30000; 
testOnBorrow=false; 
testOnReturn=false; 
timeBetweenEvictionRunsMillis=5000; 
numTestsPerEvictionRun=0; 
minEvictableIdleTimeMillis=60000; 
testWhileIdle=false; 
testOnConnect=false; 
password=********; 
url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE; 
username=sa; 
validationQuery=null; 
validationQueryTimeout=-1; 
validatorClassName=null; 
validationInterval=30000; 
accessToUnderlyingConnectionAllowed=true; 
removeAbandoned=false; 
removeAbandonedTimeout=60; 
logAbandoned=false; 
connectionProperties=null; 
initSQL=null; 
jdbcInterceptors=null; 
jmxEnabled=true; 
fairQueue=true; 
useEquals=true; 
abandonWhenPercentageFull=0; 
maxAge=0; 
useLock=false; 
dataSource=null; 
dataSourceJNDI=null; 
suspectTimeout=0; 
alternateUsernameAllowed=false; 
commitOnReturn=false; 
rollbackOnReturn=false; 
useDisposableConnectionFacade=true; 
logValidationErrors=false; 
propagateInterruptState=false; 
ignoreExceptionOnPreLoad=false; 
}

(newlines mine)

该bean的设置似乎相当复杂,所以我想尽可能少地干扰它 - 只需替换默认的JDBC URL。

如何为Spring配置单独的属性来创建数据源?最好是在Java中,但如果有简洁的XML方式,我也很高兴。我只是想避免为等同于url=...

的东西添加100行样板

0 个答案:

没有答案