使用SpringBoot中web项目推荐目录结构的问题

目录
  • 下面是我创建的目录结构
  • 项目结构
  • 静态资源的目录结构
  • 完整项目结构

SpingBoot 365计划开始更新了,计划手敲365个dSpringBoot案例回顾总结形成知识体系。目前已经输出了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包下。

数据访问层 repositorymapper

访问数据的库的接口

  1. jpa项目:放在./src/main/java/com/rumenz/repository路径下。也就是com.rumenz.repository包下。
  2. 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/lession3https://rumenz.com/rumenbiji/springboot-web-directory-structure.html

到此这篇关于SpringBoot中web项目推荐目录结构的文章就介绍到这了,更多相关SpringBoot目录结构内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SpringBoot根据目录结构自动生成路由前缀的实现代码

    目录 前言 具体实现 配置文件指定基础包 自动补全路由前缀处理类 自动补全路由前缀配置类 测试类 测试 前言 本文介绍如何根据目录结构给RequestMapping添加路由前缀(覆盖RequestMappingHandlerMapping中的getMappingForMethod方法,修改其中的Url),如下图的实际访问路径为:/v1/test/test. 具体实现 配置文件指定基础包 application.properties api-package = com.coisini.spring

  • SpringBoot根据目录结构自动配置Url前缀方式

    目录 自定义RequestMappingInfo 通过接口的形式发现类 在很多其他框架中,比如Python的Flask.node.js的KOA,Controller要想能够响应前端的请求都需要我们主动去注册到应用程序上.而Spring不需要我们自己去注册,由Spring通过扫描注解的方式去主动发现. 自定义RequestMappingInfo Spring中的RequestMappingHandlerMapping专门来负责处理标注了@RequestMapping的控制器.创建一个类继承并覆盖其

  • 使用SpringBoot中web项目推荐目录结构的问题

    目录 下面是我创建的目录结构 项目结构 静态资源的目录结构 完整项目结构 SpingBoot 365计划开始更新了,计划手敲365个dSpringBoot案例回顾总结形成知识体系.目前已经输出了32节的内容.所有源码托管在GitHub和Gitee上. 下面是我创建的目录结构 . ├── ./pom.xml └── ./src ├── ./src/main │ ├── ./src/main/java │ │ └── ./src/main/java/com │ │ └── ./src/main/ja

  • 浅析Android系统的架构以及程序项目的目录结构

    Android框架结构 直接上图: 由上图,我们可以看出Android系统架构由5部分组成, 分别是:Linux Kernel(linux内核).Android Runtime(运行时环境).Libraries(类库).Application Framework(应用框架).Applications(应用). 1.1.Linux Kernel Android基于Linux 2.6提供核心系统服务,例如:安全.内存管理.进程管理.网络堆栈.驱动模型.Linux Kernel也作为硬件和软件之间的抽

  • SpringBoot中web模板渲染的实现

    目录 模板 Model Model中添加对象 日期格式化 模板 开发Web站点的本质,其实就是根据浏览器发起的请求(输入),生成HTML代码返回给浏览器(输出).在之前的学习中,我们已经通过文件的形式存储起来而不是直接在Java代码中生成HTML代码.另一方面,博客站点是动态的,即不同的请求返回的内容可能不同.但是对于同一类请求,例如访问id分别为1和2的两篇文章,对应的URL分别为/blogs/1和/blogs/2,他们返回的HTML代码片段的结构几乎是一样的: <!DOCTYPE html>

  • SpringBoot中WEB的启动流程分析

    目录 一.DispatcherServlet的注册 1.1 把DispatcherServlet注入IOC容器 1.2 把DispatcherServlet注入Servlet容器 想必大家都体验过springboot的便捷,以前想要运行web项目,我们首先需要将项目打成war包,然后再运行Tomcat启动项目,不过自从有了springboot,我们可以像启动jar包一样简单的启动一个web项目,今天我们就来分析下springboot启动web项目整个流程. 老规矩,我们从spring.facto

  • Java项目的目录结构详解

    一个java web项目 目录分为两个部分 ① Web应用的根目录下子目录WEB-INF,里面内容不能被客户端访问的,包括专用Web应用程序软件,包括Servlet类文件.部署描述符web.xml.外部库以及其他任何由此应用程序使用的专用文件. ② 所有位于WEB-INF之外的文件都被看作是公共的,客户端是可以访问到的.资源包括HTML页面.JSP页面和图像等. 一.Common包 Common用来封装一些常用的公共方法. 二.Dao包 Dao主要用来封装对数据库的新增,删除,查询,修改.叫做数

  • SpringBoot中maven项目打成war包部署在liunx服务器上的方法

    说明:Spring Boot由于内嵌了如Tomcat,Jetty和Undertow这样的容器,也就是说可以直接跑起来,用不着再像Spring项目还需要外置的Tomcat等容器来进行部署工作了,通过启动启动类就可以建立独立的Spring应用程序.Spring Boot部署在服务器上主要分为两种方式:一是打成jar包发布,二是打成war包发布,第一种方式只需要在该服务器中运行java -jar+部署项目的名称就可以启动(不要忘了.jar后缀名),操作比较简单,第二种方式操作比较复杂一点,并且是项目发

  • IDEA中Web项目控制台乱码的问题及解决方法

    要分清是tomcat日志编码乱码,还是idea的日志显示控制台编码乱码 一.tomcat日志编码 # 切换到tomcat根目录/bin # 分别执行 # 1."chcp 65001"切换cmd为utf8, chcp 65001 catalina.bat run # 2."chcp 936"切换cmd为gbk, chcp 936 catalina.bat run # 哪种模式不乱码,就可以确定tomcat日志编码 一般/conf/logging.properties

  • SpringBoot中web模版数据渲染展示的案例详解

    在第一节我们演示通过接口返回数据,数据没有渲染展示在页面上 .在这里我们演示一下从后台返回数据渲 染到前端页面的项目案例. 模板引擎 SpringBoot是通过模版引擎进行页面结果渲染的,官方提供预设配置的模版引擎主要有 Thymeleaf FreeMarker Velocity Groovy Mustache 我们在这里演示使用Thymeleaf和FreeMarker模板引擎. Thymeleaf Thymeleaf是适用于 Web 和独立环境的现代服务器端 Java 模板引擎. Thymel

  • SpringBoot中maven项目打成war包部署在linux服务器上的方法

    说明:Spring Boot由于内嵌了如Tomcat,Jetty和Undertow这样的容器,也就是说可以直接跑起来,用不着再像Spring项目还需要外置的Tomcat等容器来进行部署工作了,通过启动启动类就可以建立独立的Spring应用程序.Spring Boot部署在服务器上主要分为两种方式:一是打成jar包发布,二是打成war包发布,第一种方式只需要在该服务器中运行java -jar+部署项目的名称就可以启动(不要忘了.jar后缀名),操作比较简单,第二种方式操作比较复杂一点,并且是项目发

  • 基于vue-cli创建的项目的目录结构及说明介绍

    一. ├── build // 项目构建(webpack)相关代码 记忆:(够贱) 9个 │ ├── build.js // 生产环境构建代码 │ ├── check-versions.js // 检查node&npm等版本 │ ├── dev-client.js // 热加载相关 │ ├── dev-server.js // 构建本地服务器 │ ├── utils.js // 构建配置公用工具 │ ├── vue-loader.conf.js // vue加载器 │ ├── webpack.b

随机推荐