Spring Boot程序开发(四)maven模块拆分

一、必要性

在JAVA开发过程中,由于项目的日渐庞大,一个不合理的模块化架构会让维护人员和开发人员对问题难以定位。所以项目的模块化显得尤为重要。合理的工程模块化可以有效的将Class耦合聚合为Jar耦合,可以提供明显的界限,有助于项目的维护和Bug的排查修正。

二、依赖关系图

Dao(数据访问)依赖Model(数据模型)

Service(业务逻辑)依赖Dao(数据访问)、Model(数据模型)、Utils(工具类)

Web(表现控制层)依赖Service(业务逻辑)、Model(数据模型)、Utils(工具类)

三、模块后的打包

对于以上的模块化拆分后,那么是否还可以像原来一样打成一个可执行Jar包呢?答案是可以的。

1、只需要在每个子工程的Pom.xml中配置包名即可。

    <build>
            <!-- 子工程Jar包名称 -->
        <finalName>child-project</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.0.4.RELEASE</version>
            </plugin>
        </plugins>
    </build>

2、然后在父工程的Pom.xml中将所有依赖的包打到一个Jar里面就行了。

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.0.4.RELEASE</version>
                <configuration><!-- 指定该Main Class为全局的唯一入口 -->
                    <mainClass>com.ranen.springbootApplication</mainClass>
                    <layout>ZIP</layout>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
                        </goals>
                        <!--若需要不含依赖包的不可执行Jar包,可按如下配置-->
                        <!-- configuration>
                          <classifier>exec</classifier>
                        </configuration> -->
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

3、执行maven命令

mvn package

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值