【发布时间】:2020-03-03 09:01:36
【问题描述】:
在 build.gradle 我有:
compile 'org.springframework.boot:spring-boot-starter-web'
compile 'org.springframework.boot:spring-boot-starter-web-services'
compile 'org.springframework.boot:spring-boot-starter-amqp'
compile("org.springframework.boot:spring-boot-starter-jdbc") {
exclude module: "spring-boot-starter-hikari"
}
compile group: 'org.apache.tomcat', name: 'tomcat-jdbc', version: '9.0.21'
我尝试在application.yml中配置DataSource(位于tomcat/../resource_directory)
spring:
datasource:
jdbc-url: "jdbc:oracle:thin: ...."
username: "admin"
password: "admin"
driver-class-name: "oracle.jdbc.driver.OracleDriver"
type: "org.apache.tomcat.jdbc.pool.DataSource"
tomcat:
initialSize: 55
max-wait: 10000
max-active: 50
max-idle: 15
min-idle: 8
default-autoCommit: false
我在我的代码中使用了@Autowired。但是当我调试我的代码时,我有下一个:
log.info("dataSource: " + dataSource.toString());1
log.info("dataSourceClass: " + dataSource.getClass());2
dataSource: HikariDataSource (null) 1
dataSourceClass: class com.zaxxer.hikari.HikariDataSource 2
在我接下来看到的日志文件中:
Loaded 1 document from YAML resource // with correct path to file.
并正确加载数据:
spring={datasource={jdbc-url=jdbc...., username=admin, password=admin, driver-class-name=oracle.jdbc.driver.OracleDriver,
type=org.apache.tomcat.jdbc.pool.DataSource, tomcat={initialSize=55, max-
wait=10000, max-active=50, max-idle=15, min-idle=8, default-
autoCommit=false}}}
当我将配置放入 src/resources 中的 application.propertes 时,我得到了正确的 tomcat 数据源。
dataSource: org.apache.tomcat.jdbc.pool.DataSourc //1
dataSourceClass: class org.apache.tomcat.jdbc.pool.DataSource//2
我做错了什么!??请帮我解决这个困惑。
【问题讨论】:
-
为什么不将 yml 放在属性文件之类的资源中。如果两个属性都会被选中,那么只保留一个 yml。
标签: spring spring-boot