Spring Boot集成SQLServer遇导入错误及启动失败问题求助
核心问题根源
「The import org.springframework.boot.autoconfigure.jdbc cannot be resolved」和ClassNotFoundException: DataSourceProperties的本质是缺少Spring Boot JDBC自动配置的核心依赖,和你手动安装sqljdbc4.jar的操作无关;同时手动安装旧版驱动的方式也容易引发依赖冲突或适配问题。
1. 修正pom.xml依赖配置
首先添加Spring Boot JDBC Starter,它会自动包含DataSourceProperties等所需的核心类:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency>
然后替换手动安装的sqljdbc4.jar,改用Maven中央仓库维护的官方SQLServer驱动(版本需适配你的SQLServer版本,SQLServer 2017+推荐用9.x及以上版本):
<dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <scope>runtime</scope> </dependency>
2. 清理旧驱动依赖
如果之前通过mvn install将sqljdbc4.jar安装到了本地Maven仓库,建议删除本地仓库中对应的依赖文件,避免和官方驱动产生冲突。
3. 验证数据库配置文件
确保application.properties/application.yml中的配置符合SQLServer要求:
application.properties示例
spring.datasource.url=jdbc:sqlserver://localhost:1433;databaseName=你的数据库名;encrypt=true;trustServerCertificate=true spring.datasource.username=你的数据库用户名 spring.datasource.password=你的数据库密码 spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
application.yml示例
spring: datasource: url: jdbc:sqlserver://localhost:1433;databaseName=你的数据库名;encrypt=true;trustServerCertificate=true username: 你的数据库用户名 password: 你的数据库密码 driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
注:SQLServer 2016及以后版本默认要求加密连接,trustServerCertificate=true仅用于开发环境跳过证书验证,生产环境需配置合法证书。
4. 检查自定义数据源配置类
如果你的DataSourceConfig.java是自定义配置,确保导入路径正确且配置逻辑合法:
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.sql.DataSource; @Configuration public class DataSourceConfig { @Bean @ConfigurationProperties("spring.datasource") public DataSourceProperties dataSourceProperties() { return new DataSourceProperties(); } @Bean public DataSource dataSource(DataSourceProperties properties) { return properties.initializeDataSourceBuilder().build(); } }
若无需自定义数据源,可直接删除该配置类,Spring Boot会自动根据配置文件生成数据源。
5. 重新构建项目
执行以下命令清理并重新构建项目:
mvn clean install
在VS Code中也可通过Ctrl+Shift+P唤起命令面板,选择「Maven: Clean」和「Maven: Install」执行操作。
内容的提问来源于stack exchange,提问作者Arcturus

