第三节:SpringBoot中web项目推荐目录结构
SpingBoot 365计划开始更新了,计划手敲365个SpringBoot案例回顾总结形成知识体系。目前已经输出了32节的内容。所有源码托管在GitHub和Gitee上。
下面是我创建的目录结构
.
├── ./pom.xml
└── ./src├── ./src/main│ ├── ./src/main/java│ │ └── ./src/main/java/com│ │ └── ./src/main/java/com/rumenz│ │ ├── ./src/main/java/com/rumenz/Lession3Application.java│ │ ├── ./src/main/java/com/rumenz/config│ │ ├── ./src/main/java/com/rumenz/controller│ │ ├── ./src/main/java/com/rumenz/domain│ │ ├── ./src/main/java/com/rumenz/dto│ │ ├── ./src/main/java/com/rumenz/entity│ │ ├── ./src/main/java/com/rumenz/mapper│ │ ├── ./src/main/java/com/rumenz/repository│ │ ├── ./src/main/java/com/rumenz/service│ │ │ ├── ./src/main/java/com/rumenz/service/1.txt│ │ │ └── ./src/main/java/com/rumenz/service/impl│ │ ├── ./src/main/java/com/rumenz/utils│ │ └── ./src/main/java/com/rumenz/vo│ └── ./src/main/resources│ ├── ./src/main/resources/application.properties│ ├── ./src/main/resources/mapper│ ├── ./src/main/resources/static│ └── ./src/main/resources/templates└── ./src/test└── ./src/test/java└── ./src/test/java/com└── ./src/test/java/com/rumenz└── ./src/test/java/com/rumenz/Lession3ApplicationTests.java
项目结构
启动类
Lession3Application.java
一般放在com.rumenz
下
前端控制器controller
前端控制器又叫
controller
层,放在./src/main/java/com/rumenz/controller
路径下,也就是com.rumenz.controller
包下。
服务接口层 service
也叫
service
层,放在./src/main/java/com/rumenz/service
路径下,也就是com.rumenz.service
包下。
服务接口实现层 impl
服务接口层的具体实现类,放在
./src/main/java/com/rumenz/service/impl
路径下,也就是com.rumenz.service.impl
包下。
数据访问层 repository
或mapper
访问数据的库的接口
- jpa项目:放在
./src/main/java/com/rumenz/repository
路径下。也就是com.rumenz.repository
包下。 - mybatis项目:放在
./src/main/java/com/rumenz/mapper
路径下。也就是com.rumenz.mapper
包下。
工具类库 utils
放一些公用的小工具方法。放在
./src/main/java/com/rumenz/utils
路径下。也就是com.rumenz.utils
包下。
配置类 config
项目的所有配置类。放在
./src/main/java/com/rumenz/config
路径下。也就是com.rumenz.config
包下。
数据传输对象 DTO
DTO(Data Transfer Object)
表示一个数据传输对象,DTO
通常用于前端控制层controller
和服务层service
之间传输对象,DTO
一般不会直接返回给前端, 由服务层返回。前端界面显示的字段会新封装成一个VO(View Object)
前端视图对象VO
VO(View Object)
用来封装前端界面显示字段。放在./src/main/java/com/rumenz/vo
路径下。也就是com.rumenz.vo
包下。
静态资源的目录结构
配置文件
./src/main/resources/application.properties
静态资源目录
./src/main/resources/static
用来存放css
,js
,image
等静态资源。
模板目录
./src/main/resources/templates
用来存放html
模板。
mybatis映射文件
./src/main/resources/mapper
用来存在xml
的sql文件。
完整项目结构
本小结源码地址:
- GitHub:https://github.com/mifunc/springboot/tree/main/lession3
- Gitee:https://gitee.com/rumenz/springboot/tree/master/lession3
- https://rumenz.com/rumenbiji/springboot-web-directory-structure.html
介绍
- 我的博客 https://rumenz.com/
- 我的工具箱 https://tooltt.com/
- 微信公众号:【入门小站】
- 关注【入门小站】回复【1001】获取 linux常用命令速查手册
- 关注【入门小站】回复【1003】获取 LeetCode题解【java语言实现】
- 关注【入门小站】回复【1004】获取 Java基础核心总结
- 关注【入门小站】回复【1009】获取 阿里巴巴Java开发手册
第三节:SpringBoot中web项目推荐目录结构相关推荐
- java web项目的目录结构以及各文件夹的功能是什么eclipse的web目录及各作用
创建一个javaweb项目的大致目录结构就是这样的,因为是第一次新建,我们的目录只包含了一些基础的文件夹. 然后我们看一下他们的功能是什么. test:项目名称(也可以是其他名称,尽量和自己创建的项目 ...
- netbean+glassfish创建web项目的目录结构
错误 我的第一个使用了servlet的web项目是看崔希凡老师的视频做的,他使用的是myeclipse+tomcat,下面是他的目录结构 他在login.jsp中需要跳转到LoginServlet时, ...
- 实现以最快速度搭建springboot后台web项目并连通数据库实现控制层与服务层与dao层的select查询...
背景 Servlet的出现 上世纪90年代,随着Internet和浏览器的飞速发展,基于浏览器的B/S模式随之火爆发展起来.最初,用户使用浏览器向WEB服务器发送的请求都是请求静态的资源,比如html ...
- IDEA中WEB项目结构和Artifacts设置
公司的WEB项目结构一直比较随意,没有统一的规范,新增项目也是直接用旧的项目文件夹拷贝过去修改,时间长了以后项目文件结构混乱,研究了半天终于找到了(可能)正确的目录结构设置,能够直接输出正确结构的Ar ...
- SpringBoot创建web项目
本人使用的是eclipse平台,安装SpringBoot插件即可.下面介绍如何使用springboot创建web项目. 1.创建项目工程 File->New->Project...-> ...
- Linux中把文件夹打成war包,SpringBoot中maven项目打成war包部署在liunx服务器上的方法...
说明:Spring Boot由于内嵌了如Tomcat,Jetty和Undertow这样的容器,也就是说可以直接跑起来,用不着再像Spring项目还需要外置的Tomcat等容器来进行部署工作了,通过启动 ...
- 【SpringBoot零基础案例01】【IEDA 2021.1】如何创建一个SpringBoot框架web项目
一.创建一个空项目 点击[File]- [New]- [Project-],新建一个空项目 选择[Empty Project]点击[Next] 填写项目名称,选择项目本地存储路径,点击[Finish] ...
- 如何修改myeclipse中web项目的工作路径或默认路径
如何修改myeclipse中web项目的工作路径或默认路径 博客分类: J2EE开发技术指南 安装好myeclipse后,第一次启动myeclipse时,都会弹出会弹出Workspace Launch ...
- JavaWeb开发---B/S和C/S模式 tomcat服务器 Tomcat项目部署和发布 静态网页和动态网页 tomcat对web项目的目录要求 使用idea开发工具创建web项目 设置默认首页
目录 1. B/S和C/S模式 1.1 C/S模式 1.2 B/S模式 1.3 B/S和C/S区别 2.服务器 3.web 服务器 3.1.IIS 3.2.Tomcat 3.3.Zeus 3.4.Ng ...
最新文章
- mysql实现树状查询_MySQL实现树状所有子节点查询的方法
- jQuery+css+html淘宝购物车模块
- 低秩矩阵的应用--背景建模
- C# Java间进行RSA加密解密交互(二)
- 【LeetCode】3月24日打卡-Day9
- python装饰器模式带参数_python 装饰器模式 我的理解
- linux系统下的权限知识梳理
- Java的“ for each”循环如何工作?
- mySql 查询当天、本周、最近7天、本月、最近30天的语句
- 使用C语言在Win控制台中输出带颜色的文字
- md5加密、Des加密对称可逆加密、RSA非对称可逆加密、https单边验证、银行U盾双边认证...
- 老大加需求:做一个支持超大文件HTTP断点续传的上传服务,我懵逼了~
- 如何让计算机断开网络连接网络设置,电脑怎样设置定时断网,教您怎么设置
- OpenCV(C++)图像处理基础03:读写像素、像素值修改、像素反差
- 一文了解通用行为识别ActionRecognition
- 什么是sp,怎么运作,他们是怎么发财的
- 中文分词之维特比算法详解
- Android 点九图机制讲解及在聊天气泡中的应用
- mac备忘录 英文引号自动转中文引号
- 向质量要增长,内容社区告别“大水漫灌”时代
热门文章
- 应用虚拟化之规划篇二 项目流程规划
- python实现批量转换文件编码(批转换编码示例)
- 学习linux/unix编程方法的建议-转
- 小学生计算机的样子,小学生状物作文:我家的电脑
- 超仪电子 java面试_全靠这份阿里大佬的“Java进阶面试手册”助我收获蚂蚁金服offer!...
- SpringBoot之Filter过滤器的实现及排序问题
- 蓝桥杯 BASIC-8 基础练习 回文数
- 部署Zipkin分布式性能追踪日志系统的操作记录
- Linux系统中各种系统日志文件主要存放在系统中哪个目录
- Windows下Tuxedo的安装与配置-无数据库