背景:
学习maven项目构建工具,结合springboot手写一个maven父子工程项目,这个demo只为单纯的学习maven两大核心功能:依赖管理、项目构建
demo结构:
user【maven父工程】
controller【maven子模块】
pom.xml
service【maven子模块】
pom.xml
dao【maven子模块】
pom.xml
pom.xml
controller模块依赖service模块,service模块依赖dao模块
大致思路是将传统的一个包含controller、service、dao层级结构的项目,按层级拆分为三个maven子模块,并通过maven的依赖管理,最终聚合成一个完成的工程
demo结构说明
1.父工程pom,在父工程里面引入了springboot公用的spring-boot-starter-parent,指定了jdk编译版本,及包含的子模块,注意父工程的打包类型要选为pom,并install到maven本地仓库
2.子工程
a.user-dao模块,这个子工程打包要选择jar包,service模块中要依赖此jar包,dao开发完成后,使用maven的install命令安装进本地仓库
b.user-service模块,service子模块要依赖dao模块获取数据,所以这里要添加依赖关系,同理开发完成后install到maven本地仓库
c.user-controller模块,这里要依赖service子模块,根据maven的传递性,也可以依赖到dao子模块,注意看application.java的包层级关系,这个类放到boot包下,其他的controller、service、dao都放到了boot的子包下了,这是因为springboot的启动类application默认扫描所有它所在包及其子包下的spring bean,这也是模块拆分的关键,service、dao以jar包的形式被依赖进来,在springboot启动扫描时也会被扫描到加载到spring容器内
启动的时候,在controller子模块下,直接运行application即可启动,启动后访问
http://localhost:8080/query看到如下效果即为成功
附件为demo全部代码
相关推荐
本文将详细介绍如何使用SpringBoot和Maven构建一个Web项目,并通过父子工程的方式来组织项目结构。 首先,理解Maven的父子工程结构至关重要。在大型项目中,通常会采用多模块的架构,以便于代码的管理和维护。父子...
7. readme.txt和pom.xml:readme.txt文件通常包含项目的简要介绍和使用说明,而pom.xml是Maven项目的配置文件,定义了项目依赖、构建设置等信息,方便开发者管理和构建项目。 综上所述,这个基于VaadinFlow和...
Spring Boot是Spring框架的一个扩展,它简化了创建独立的、生产级别的基于Spring的应用程序。Spring Boot的核心特性包括自动配置、内嵌Web服务器(如Tomcat或Jetty)、健康检查以及启动器。在这个项目中,Spring ...
在本教程中,我们将深入探讨如何使用IntelliJ IDEA(简称IDEA)创建一个基于Gradle的多模块(Multi-Module)Spring Boot项目。Spring Boot以其便捷的快速启动和简化配置而闻名,而Gradle作为现代构建工具,提供了...
本文将详细介绍如何基于Maven、Dubbo、Zookeeper以及Spring框架搭建一个新手友好的父子工程调用项目。 首先,Maven是Java开发中的项目管理工具,它通过引入依赖管理和项目生命周期的概念,使得项目的构建和维护变得...
使用IDEA创建maven父子工程项目(SpringBoot+SpringCloud为例Zuul,Eureka)使用IDEA创建maven父子工程项目(SpringBoot+SpringCloud为例Zuul,Eureka)使用IDEA创建maven父子工程项目(SpringBoot+SpringCloud为例...
使用IDEA创建maven父子工程项目(SpringBoot+SpringCloud为例Zuul,Eureka)+业务处理+controller+网关配置使用IDEA创建maven父子工程项目(SpringBoot+SpringCloud为例Zuul,Eureka)+业务处理+controller+网关配置
在SpringBoot项目中,Maven用于管理项目依赖,构建工件,并且提供了一套标准的项目目录结构,方便代码组织和管理。 **模块化设计** 项目采用父子结构分模块,这是一种常见的大型项目组织方式。父项目通常用来定义...
大型项目通常会划分为多个模块,Maven支持父子项目结构,父项目可以管理子项目的公共依赖和配置,子项目各自负责一部分功能。 9. **本地仓库与远程仓库** Maven首先查找本地仓库,如果没有找到依赖,会从远程仓库...
- Vue的基本组件系统,包括组件的创建、父子组件通信、状态管理。 - Vue Router的使用,实现前端路由跳转。 - Vuex用于全局状态管理。 - Axios库进行HTTP请求,与Spring Boot后端交互。 - Vue模板语法,如指令...
本项目以"父子工程+无侵入swagger+hutool工具文件上传"为主题,聚焦于Springboot框架的应用、API文档的自动化生成以及文件处理能力的增强。以下是这些知识点的详细说明: 首先,"父子工程"是一种常见的项目结构设计...
idea创建springcloud父子工程,用于分布式架构的微服务前提框架,Maven分模块框架, 为后面学习的springcloud的相关内容进行铺垫
由于上一个创建maven的分模块架构的父工程是用springboot来创建的所以,在子程序打包的时候需要有一个主启动类,所以会报错
在本项目"springboot_demo"中,我们主要探讨Spring Boot框架的应用,并通过一个具体的实例来展示如何构建一个基于Maven的父子工程结构。这个项目版本为2.0.2.RELEASE,它涉及到的关键技术点包括Spring Boot的基础...
- Vue.js的组件化开发,包括组件创建、父子组件通信、路由管理等。 - HTTP协议和RESTful API设计。 - 数据库设计和SQL语句编写。 - 微信小程序的开发,包括小程序的生命周期、页面跳转、API调用等。 通过这个项目,...
在创建父子工程时,可以选择Spring Initializr来初始化项目结构,然后根据需要添加所需模块,例如云Bootstrap模块,以及Eureka Server和Eureka Client子模块。 7. **BeanFactoryPostProcessor**: - 文档中提到了...