刚上手用IntelliJ IDEA导入github项目,我尝试了多种导入方式。因为我的有父子模块,导入后整个项目的格式就变了。
然后我多次尝试,找到了一个更好的导入方式,可以保持MAVEN项目的格式。
4.提示导入,点击取消。咱们先只是clone项目文件到本地,不import。
5.下载到本地后,File -->Open 选择刚下载的项目路径。我们在新窗口打开本地项目
6.打开后项目结构差不多是这样子的,项目名、子父模块完整,结构完美。但只是文件结构正常,很明显,Maven项目模块并没有被识别。
7、挨个添加识别项目下的Maven模块。
9,Maven项目算是导入成功,接下来就是配置IDEA的时候了。
10, 所有的配置完成后,放开手开发吧!!!
在使用Java构建大型企业级项目时,我们一般更倾向于分层,分模块,分服务,分功能开发,这样搞的目的只有一个就是以高内聚,低耦合方式来提高整个项目的灵活性,扩展性,复用性,当然,这里面蕴含的思想与Java的设计模式和开发原则是非常类似的,因为大公司的项目的结构一般都非常复杂,只有提前规划好开发模式,才能在以后不断扩展,迭代,重构时减少出现牵一发而动全身的情况。
企业级项目,一般都会使用Maven来构建管理项目,如何在使用maven构建一个多模块的项目呢? 假设现在我们要开发一个web项目,现在分为1个父模块,4个子模块,结构以及依赖关系如下:
idea里面的截图展示如下:
步骤如下: 1,首先在idea里面File ->New Project->Next然后输入相关的坐标, 新建一个空的maven项目,作为父项目使用,创建完成之后,可将其src目录删掉,然后更改其pom属性为:
web-app,需要注意的是,散仙web使用的是spring-boot项目,所以4个模块都是普通的maven就可以,类似如果你的web层使用的不是spring-boot,那么久需要在web-app模块选择时,选择maven-archetype-webapp 3,创建完成之后,我们就模拟一个分层协作的例子,先看下dao里面模拟的数据:
然后用户访问的web页面展示如下:
ok,web上展示是这样的,但是实际内部的他们的调用关系,和文章开头的图里那样,web-app调用service,service先调用dao拿到数据,然后接着调用通用的工具类,对数据进行转小写,然后返回给最终的前台。 4,项目的源码例子,会放在文末附件中,最后,说一下几个关键点 (1)包命名方式需要统一,无论在web-app,service,share-tools 还是
dao层中,前缀包名最好保持一致,比如以com.easy开头,然后各个模块分别是com.easy.xxx
(2)模块和模块之间有依赖时,在分层package时,需要注意把依赖模块的jar导入对应的模块中,当然如果你们有自己的私服,那么就直接发布到私服上,然后引入就行了,如果没有私服,最好在父层pom下构建打包,这样你就不需要关心依赖的问题,父pom会组织所有的模块,然后正确的找到依赖,进行构建:
(3)所有的版本号,或者共享的属性,都应该在父pom中定义,这样每个继承父模块的module都会得到统一的版本