spring-boot-maven-plugin这个插件是专门为springBoot项目服务的,
作用是打包时,对mvn package打包后的结果进行二次打包,目的是将当前项目所有的依赖也打包进来(会自动的找到启动类作为main class),官方解释此时的jar包叫fat.jar
若不加这个插件,就只打包当前项目中的东西,依赖不会被打包进来。
注意,
spring-boot-maven-plugin打成的jar包可以运行,但是不能被其他工程依赖。 ,所以被其他模块依赖的模块如common模块,不能加这个,否则会提示找不到程序包。
看完了吧,看完了赶紧试试吧,光看没用,自己动手去实现一下才是硬道理。
好的到此本篇文章算是结束了,觉得不错的点个赞在走呗。
1.1 基本概况
真实maven的项目都应该是分模块的,每个模块都对应着一个pom.xml。它们之间通过继承和聚合(也称作多模块,multi-module)相互关联。
常见的web项目结构:
Dao层负责数据库交互,封装了Hibernate交互的类。
Service层处理业务逻辑,放一些Service接口和实现相关的Bean。
Web层负责与客户端交互,主要有一些Structs的Action类。
对应的项目结构:
org.myorg.app.dao
org.myorg.app.
archetype 是一个 Maven 项目模板工具包,通过 archetype 我们可以快速搭建 Maven 项目。每个模板里其实就是附带不同的依赖和插件。一般在公司私服里都会有属于本公司的一套 archetype 模板,里面有着调试好的项目用到的依赖包和版本号。
使用多模块的原因
使用Java技术开发的工程项目,无论是数据处理系统还是Web网站,随着项目的不断发展,需求的不断细化与添加,工程项目中的代码越来越多,包结构也越来越复杂这时候工程的进展就会遇到各种问题:
1)不同方面的代码之间相互耦合,这时候一系统出现问题很难定位到问题的出现原因,即使定位到问题也很难修正问题,可能在修正问题的时候引入更多的问题。
2)多方面的代码集中在一个整体结构中,新入的开发者很难对整体项目有直观的感受,增加了新手介入开发的成本,需要有一个熟悉整个项目的开发者维护整个项目的结构(通常在
在下一个页面中,输入我们的公司名称或者域名的倒写加项目名,然后next
在下一个页面上直接finish就可以了
这个时候我们的顶级工程就创建完成了,由于是顶级工程,我们需要在其pom文件里面添加这么一段标识
接着就是构建在顶级工程一下的子模块了
然后,直接next到了这个窗口
1、打开idea创建一个maven工程,这个是parent工程,package打包方式修改为pom,将src等没有用的文件全部删除,删除后目录如下
2、创建一个子工程,点【File】-【Project Structure】
点【Modules】-【+】-【New Module】,创建子工程report-data-producer
创建完后,继续按上面的步骤创建子工程report-data-h...
1.控制反转将对象的创建交给了spring,简化了开发,降低了代码之间的耦合性和侵入性。
2.方便对程序进行声明式事物管理,我们只需通过配置就可以完成对事物管理。
3.方便集成各种优秀的框架,spring不排斥各种优秀框架,其内部提供了对各种优秀框架如(struts2,hibernate,mybatis,quartz,jpa)等的直接支。
4.方便对程序进行测试,spring对于Junit4的支持,可通过注解方便测试程序。
5.降低了JavaEE API的使用难度,JDBC,Javamail,远程调用等,s
将一个大型项目拆分为多个模块,每个模块只负责自己的一部分功能,可以使得代码更加清晰、结构更加清晰。这样,当需要修改某个功能时,只需要修改对应模块的代码,不会影响到其他模块的代码,从而提高了代码的可维护性。而将项目拆分为多个模块后,每个模块可以单独提交,从而使得版本控制系统中的历史记录更加清晰。而将项目拆分为多个模块后,每个人可以负责自己的模块,从而减少了代码冲突的可能性,便于团队协作。而将项目拆分为多个模块后,每个模块可以单独编译,从而提高了编译和构建的效率。
在需要统一版本的位置,使用 ${自定义标签名} 引用声明的版本号。另外,自定义标签声明数据的配置并不是只能用于声明依赖的版本号,凡是需要统一声明后再引用的场合都可以使用,例如:统一配置项目构建的源码的字符集格式。xml复制代码。
比起传统复杂的单体工程,使用Maven的多模块配置,可以帮助项目划分模块,鼓励重用,防止POM变得过于庞大,方便某个模块的构建,而不用每次都构建整个项目,并且使得针对某个模块的特殊控制更为方便。比起传统复杂的单体工程,使用Maven的多模块配置,可以帮助项目划分模块,鼓励重用,防止POM变得过于庞大,方便某个模块的构建,而不用每次都构建整个项目,并且使得针对某个模块的特殊控制更为方便。
设计模式真言:“高内聚、低耦合”,springmvc项目,一般会把项目分成多个包:controller、service、dao、util等,但是随着项目的复杂性提高,想复用其他一个模块的话,因为是包的形式,剥离出来会比较困难,耦合性有点强,常用的方法就是复制代码修改,但是这样会做很多无用功与增加出错几率。...