开发者

spring框架maven依赖pom配置教程

目录
  • 一、基础 Spring 依赖配置
    • 1. Spring Framework 核心依赖
    • 2. Spring Boot Starter 父项目 (推荐)
  • 二、常用模块依赖
    • 1. Web 开发
    • 2. 数据访问
    • 3. 安全框架
    • 4. 测试支持
  • 三、完整 pom.XML 示例
    • 四、Spring Cloud 依赖配置
      • 五、版本管理建议
        • 六、常见问题解决
          • 总结

            以下是 Spring 框架核心模块和常用扩展的 Maven 依赖配置,我会分类介绍并提供完整的 pom.xml 示例。

            一、基础 Spring 依赖配置

            1. Spring Framework 核心依赖

            <!-- Spring Framework 核心 -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>5.3.23</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>5.3.23</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-beans</artifactId>
                <version>5.3.23</version>
            </dependency>

            2. Spring Boot Starter 父项目 (推荐)

            <parent>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-parent</artifactId>
                <version>2.7.5</version>
                <relativePath/>
            </parent>

            使用 Spring Boot Starter 可以简化依赖php管理,自动处理版本兼容性。

            二、常用模块依赖

            1. Web 开发

            <!-- Spring MVC -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>5.3.23</version>
            </dependency>
            
            <!-- 或使用 Spring Boot Starter Web -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>

            2. 数据访问

            <!-- JDBC 支持 -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc<编程客栈/artifactId>
                <version>5.3.23</version>
            </dependency>
            
            <!-- JPA 支持 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-jpa</artifactId>
            </dependency>
            
            <!-- MyBATis 整合 -->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>2.2.2</version>
            </dependency>

            3. 安全框架

            <!-- Spring Security -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-security</artifactId>
            </dependency>

            4. 测试支持

            <!-- Spring 测试框架 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>

            三、完整 pom.xml 示例

            <?xml version="1.0" encoding="UTF-8"?>
            <project xmlns="http://maven.apache.org/POM/4.0.0"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
                <modelVersion>4.0.0</modelVersion>
            
                <parent>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-parent</artifactId>
                    <version>2.7.5</version>
                    <relativePath/>
                </parent>
            
                <groupId>com.example</groupId>
                <artifactId>demo</artifactId>
                <version>0.0.1-SNAPSHOT</version>
                <name>demo</name>
                <description>Demo project for Spring Boot</description>
            
                <properties>
                    <Java.version>11</java.version>
                    <maven.compiler.source>11</maven.compiler.source>
                    <maven.compiler.target>11</maven.compiler.target>
                </properties>
            
                <dependencies>
                    <!-- Web 支持 -->
                    <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-web</artifactId>
                    </dependency>
            
                    <!-- 数据访问 -->
                    <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-data-jpa</artifactId>
                    </dependency>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <scope>runtime</scope>
                    </dependency>
            
                    <!-- 模板引擎 (可选) -->
                    <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-thymeleaf</artifactId>
                    </dependency>
            
                    <!-- 安全框架 (可选) -->
                    <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-security</artifactId>
                    </dependency>
            
                    <!-- 开发工具 (可选) -->
                    <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-devtools</artifactId>
                        <scope>runtime</scope>
                        <optional>true</optional>
                    </dependency>
            
                    <!-- 测试支持 -->
                    <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-test</artifactId>
                        <scope>test</scope>
                    </dependency>
                </dependencies>
            
                <build>
                    <plugins>
                        <plugin>
                            <groupId>org.springframework.boot</groupId>
                            <artifactId&androidgt;spring-boot-maven-plugin</artifactId>
                        </plugin>
                    </plugins>
                </build>
            
            </project>

            四、Spring Cloud 依赖配置

            如果需要使用 Spring Cloud,可以添加以下配置:

            <dependencyManagement>
                <dependencies>
                    <dependency>
                        <groupId>org.springframework.cloud</groupId>
                        <artifactId>spring-cloud-dependencies</artifactId>
                        <version>2021.0.5</version>
                        <type>pom</type>
                        <scope>import</scope>
                    </dependency>
                </dependencies>
            </dependencyManagement>
            
            <dependencies>
                <!-- Spring Cloud 组件示例 -->
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-starter-openfeign</artifactId>
                </dependency>
            </dependencies>

            五、版本管理建议

            1. 使用 Spring Boot Starter Parentjavascript:自动管理依赖版本
            2. 查看兼容版本:参考 Spring 官方文档
            3. 自定义版本:如果需要覆盖默认版本,可以在 <properties> 中指定
            <properties>
                <spring.version>5.3.23</spring.version>
                <spring-boot.version>2.7.5</spring-boot.version>
            </properties>

            六、常见问题解决

            1. 依赖冲突:使用 mvn dependency:tree 查看依赖android
            2. 版本不兼容:参考官方发布的版本兼容矩阵
            3. 缺少依赖:检查是否添加了正确的 starter 或手动添加所需模块

            通过合理配置这些依赖,可以构建出功能完善的 Spring 应用程序。根据项目需求选择合适的模块即可。

            总结

            以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

            0

            上一篇:

            下一篇:

            精彩评论

            暂无评论...
            验证码 换一张
            取 消

            最新开发

            开发排行榜