Chr*_*now 6 spring spring-el applicationcontext
我正在尝试定义一个 Spring 数据源 url,如下所示:
spring:
datasource:
url: "jdbc:${vcap.services.compose-for-mysql.credentials.uri}?useSSL=true&requireSSL=true&verifyServerCertificate=true"
username: ${vcap.services.compose-for-mysql.credentials.username}
password: ${vcap.services.compose-for-mysql.credentials.password}
driver-class-name: com.mysql.jdbc.Driver
Run Code Online (Sandbox Code Playgroud)
哪里vcap.services.compose-for-mysql.credentials.uri设置为mysql://xxxx:xxxx@xxxx.1.dblayer.com:28018/compose.
我需要的网址如下所示:
jdbc:mysql://xxxx:xxxx@xxxx.1.dblayer.com:28018/compose?useSSL=true&requireSSL=true&verifyServerCertificate=true
然而,Spring 似乎无法处理这个问题:
无法获取 JDBC 连接;嵌套异常是 java.sql.SQLException: Driver:com.mysql.jdbc.Driver@6c6efbc8 returned null for URL:jdbc:${vcap.services.compose-for-mysql.credentials.uri}?useSSL=true&requireSSL=true&verifyServerCertificate=真的
有没有一种方法可以使用 yaml 文件构造 url,还是需要使用其他方法(例如 xml 配置)?
更新
我试过了:
url: ${'jdbc:'}${vcap.services.compose-for-mysql.credentials.uri}{'?useSSL=true&requireSSL=true&verifyServerCertificate=true'}
但得到错误:
java.lang.IllegalArgumentException: URL must start with 'jdbc'
还尝试过:
url: jdbc:${vcap.services.compose-for-mysql.credentials.uri}?useSSL=true&requireSSL=true&verifyServerCertificate=true
但得到错误:
Driver:com.mysql.jdbc.Driver@567443ab returned null for URL:jdbc:${vcap.services.compose-for-mysql.credentials.uri}?useSSL=true&requireSSL=true&verifyServerCertificate=true
小智 1
只需将您的 env 属性与字符串值连接起来
some:
property: ${envVar}abc
Run Code Online (Sandbox Code Playgroud)
在你的情况下
spring:
datasource:
url: jdbc:${vcap.services.compose-for-mysql.credentials.uri}?useSSL=true&requireSSL=true&verifyServerCertificate=true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4627 次 |
| 最近记录: |