Java IntelliJ中的属性:驱动程序类名还是driverClassName?
我使用IntelliJ IDEA,IntelliSense建议将application.properties文件中的jdbc驱动程序分配为Java IntelliJ中的属性:驱动程序类名还是driverClassName?,java,spring,intellij-idea,jdbc,Java,Spring,Intellij Idea,Jdbc,我使用IntelliJ IDEA,IntelliSense建议将application.properties文件中的jdbc驱动程序分配为 spring.datasource.driver-class-name=com.microsoft.jdbc.sqlserver.SQLServerDriver 我打字时看到图像了吗 但实际上,这是错误的。应该是 spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServe
spring.datasource.driver-class-name=com.microsoft.jdbc.sqlserver.SQLServerDriver
我打字时看到图像了吗
但实际上,这是错误的。应该是
spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
然而,一个与JetBrains相关的网站似乎表明使用驱动程序类名
可能是正确的
所以我很困惑。哪一个是对的?这是IntelliJ IDEA的一个缺陷吗?Spring Boot支持属性的两种格式,它们可以互换地用于属性绑定定义的属性(
@ConfigurationProperties
bean)
另请参见:
Spring Boot使用一些宽松的规则绑定环境
属性到@ConfigurationProperties
bean,因此不需要
使环境
属性名称与
bean属性名。这很有用的常见示例包括
破折号分隔的环境属性(例如,上下文路径
绑定到contextPath
),以及大写的环境属性(用于
例如,端口
绑定到端口
)
换句话说,如果spring.datasource.driverClassName
是通过@ConfigurationProperties
bean定义的,那么您可以同时使用spring.datasource.driver类名
和spring.datasource.driverClassName
。烤肉串的形式是推荐的形式。宽松绑定是在SpringBoot2中引入的-AFAIK,所以您提到的问题可能仍然在SpringBoot1.x中
在任何情况下,IntelliJ的autocomplete在这种情况下都不会出错,因为它使用了Spring引导工具生成的Spring引导JAR文件中包含的信息,特别是针对Spring.datasource.driver类名
,此属性名从spring boot autoconfigure JAR文件中的META-INF/additional spring configuration metadata.json
中获得。它也是中列出的财产
您列出的Youtrack问题似乎是一个无关的问题