maven多模块构建项目(常见的springmvc项目结构)

正经学徒,佛系记录,不搞事情

该功能一般使用于较大的项目,对项目进行业务拆分或者代码分层,这里以代码分层+IDEA为例,构建常用的springmvc项目

最终项目结构:(这里仅分三层,基于项目的规模和复用程度,可以追加mn_bpo层,mn_api层,mn_domin层等)

个人建议:由于每个层级所负责的功能不同,对应的实体类定位也不一样,甚至大项目每个层级都是有专门的开发人员负责,因此推荐避免创建domin层,而是在每个层级之间建立依赖关系,具体的实体类也以不同的后缀区分,调用时,对实体类进行拷贝,如:

页面)与(controller层)之间交互的参数命名为:XxxVO

controller层、dao层)与(bs层)之间交互的参数命名为:XxxDTO

dao层)与(数据库)之间交互的参数命名为:Xxx (即对应数据库表的实体类)

对于特殊情况的参数,如多表关联查询参数可使用DTO统称

maven多模块构建项目(常见的springmvc项目结构)_第1张图片

第一步:创建一个空项目Project(eclipse不需要这一步,这一步类似于eclipse的分组)

maven多模块构建项目(常见的springmvc项目结构)_第2张图片

第二步:创建一个空的maven父工程(module)

由于这里想使用springboot来启动项目,因此该父工程创建为springboot项目

maven多模块构建项目(常见的springmvc项目结构)_第3张图片maven多模块构建项目(常见的springmvc项目结构)_第4张图片

勾选web起步依赖

maven多模块构建项目(常见的springmvc项目结构)_第5张图片

 

最后删除无用文件,只保留pom.xml和idea的.iml文件,设置pom.xml文件打包方式为pom

maven多模块构建项目(常见的springmvc项目结构)_第6张图片

第三步:创建一个mn_controller子工程

这里要将controller层设置为项目启动层,因此也创建为springboot项目

maven多模块构建项目(常见的springmvc项目结构)_第7张图片

maven多模块构建项目(常见的springmvc项目结构)_第8张图片

maven多模块构建项目(常见的springmvc项目结构)_第9张图片

 选中web起步依赖

 maven多模块构建项目(常见的springmvc项目结构)_第10张图片

maven多模块构建项目(常见的springmvc项目结构)_第11张图片

 修改项目路径在mn_parent目录下

maven多模块构建项目(常见的springmvc项目结构)_第12张图片

删除无用文件,最终目录

maven多模块构建项目(常见的springmvc项目结构)_第13张图片

由于mn_parent项目是父工程,所有子项目将继承父工程,因此这里将mn_controllerpom.xml文件就不需要mn_parent项目中重复出现过的依赖

最终,mn_controllerpom.xml文件如下:



	4.0.0
	
		com.mn
		mn_parent
		0.0.1-SNAPSHOT
	
	com.mn
	mn_controller
	0.0.1-SNAPSHOT
	jar
	mn_controller
	Demo project for Spring Boot
	
		
	

父工程的pom.xml文件如下:(记得添加module)



	4.0.0
	
		mn_controller
	
	
		org.springframework.boot
		spring-boot-starter-parent
		2.0.7.RELEASE
		 
	
	com.mn
	mn_parent
	0.0.1-SNAPSHOT
	pom
	mn_parent
	Demo project for Spring Boot

	
		UTF-8
		UTF-8
		1.8
	

	
		
			org.springframework.boot
			spring-boot-starter-web
		
		
			org.springframework.boot
			spring-boot-starter-test
			test
		
	
	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	

第四步:创建一个mn_bs子工程

其余的子项目只需要创建普通的maven工程即可

注意修改工程位置:

maven多模块构建项目(常见的springmvc项目结构)_第14张图片

此时mn_parentpom.xml会自动追加子项目


    mn_controller
    mn_bs

第五步:同第四步,创建一个mn_dao

实际项目数据库实体类、mapper.xml文件等存放在这个项目中

maven多模块构建项目(常见的springmvc项目结构)_第15张图片

第六步:为每个子项目创建依赖关系

mn_controller项目的pom.xml文件添加mn_bs依赖:


	
	
		com.mn
		mn_bs
		1.0-SNAPSHOT
	

mn_bs项目的pom.xml文件添加mn_dao依赖:


	
	
		com.mn
		mn_dao
		1.0-SNAPSHOT
	

这里需要注意的地方是,项目之间的依赖关系不能构成循环依赖,例如:本项目中mn_controller依赖了mn_bsmn_bs依赖了mn_dao,这样是合理的,不会报错,如果mn_dao又依赖了mn_controller则会形成循环依赖,项目运行报错

第七步:验证

mn_bs项目添加代码

maven多模块构建项目(常见的springmvc项目结构)_第16张图片

提供一个简单的返回UserDTO对象

@Override
public UserDTO get() {
    UserDTO user = new UserDTO("1","man",20);
    return user;
}

mn_controller项目添加代码,调用mn_bs项目返回UserDTO对象

@RestController
public class UserController {
    @Autowired
    private UserBS userBS;
    @GetMapping("get")
    public UserDTO get(){
        return userBS.get();
    }
}

访问:

maven多模块构建项目(常见的springmvc项目结构)_第17张图片

多模块搭建成功

项目地址:

https://pan.baidu.com/s/1OOoHdgF-MdBjFHl8gi5MMw 提取码: jjc8

你可能感兴趣的:(maven,java,springboot)