商业软件项目搭建指南(SpringMVC篇)——第四章:项目架构与目录设计

在本章中,我们将介绍项目的架构和目录设计。我们选择以Spring Boot为基础架构,使用Spring MVC作为Web架构。本项目名称叫“无忧购物”商城网站,对应的英文为Worry-Free Shopping Mall Website,那么本项目缩略为wfsmw。

目录

第1节、项目架构图

第2节、项目目录设计

2.1、控制层(Controller)

2.2、业务层(Service)

2.3、DAO层(Data Access Object)

2.4、实体层(Entity)

2.5、工具层(Utils)

2.6、视图层(View)


第1节、项目架构图

以wfsmw作为项目工程名,那么以它为根目录开始,逐层往下展开,具体如下图。

 

从上图可以看出,从根目录开始第一层是src目录,.gitignore、pom.xml、README.md这三个文件,它们说明如下:

1、src目录是项目源代码的根目录。从src目录开始第二层是main和test目录,它们说明如下:

1.1、 main目录是项目业务代码的主目录,它包含了Java源代码文件和各种资源文件,比如配置文件、模板文件、js文件、css文件和图片等等文件。从main目录开始第三层是java和resources目录,它们说明如下:

1.1.1、 java目录是项目Java源代码的主目录。它包含了本项目的主Java包cn.sanqingniao.wfsmw,在该主包再包含5个子包,分别为controller、dao、entity、service、utils,它们按照功能和层次进行划分的。

1.1.2、 resources目录是项目资源文件的主目录。它包含了本项目的静态文件、模板文件和配置文件,分别保存到static目录、templates目录和application.properties配置文件里,其中static目录可以再创建js、css、images子目录,用于分别保存对应的js文件、css文件和图片文件。

1.2、test目录是项目测试代码的主目录,它主要包含了Java测试代码文件。它包含了本项目测试代码的主Java包cn.sanqingniao.wfsmw,在该主包再包含5个子包,分别为controller、dao、entity、service、utils,它们也是按照功能和层次进行划分的。

2、.gitigore文件是以git版本管理系统进行文件版本管理时不需要版本管理的文件和目录配置文件。

3、pom.xml文件是Maven描述文件,用来管理项目,本项目里所有使用软件包都是通过这个文件进行配置和管理的。

第2节、项目目录设计

为了方便项目的管理和开发,我们需要对项目进行合理的目录结构设计。在实际项目中,我们通常将代码按照功能和层次进行划分,主要包括以下几个部分:

2.1、控制层(Controller)

控制层是整个项目的入口,负责接收请求,处理业务逻辑,并将结果返回给前端。在SpringMVC框架中,控制层主要是由@Controller和@RestController注解修饰的类来实现。

2.2、业务层(Service)

业务层负责处理业务逻辑,提供各种服务。在Spring Boot架构中,我们通常采用@Service注解来标识一个类为业务层。

2.3、DAO层(Data Access Object)

DAO层是负责数据库的访问和操作的层级,它与实体层配合使用,对实体层进行增删改查操作,并对外提供访问数据库的接口。在Spring Boot架构中,我们通常使用@Repository注解来标识一个类为DAO层。

2.4、实体层(Entity)

实体层是项目中存放实体类的地方,实体类通常与数据库的表一一对应。在Java中,我们通常使用POJO(Plain Old Java Object)来表示实体类。

2.5、工具层(Utils)

工具层主要提供一些工具类和方法,方便我们在项目中使用。例如,时间转换、集合操作、加密解密、文件操作等等。在Spring Boot架构中,我们通常将这些工具类封装在一个utils包中。

2.6、视图层(View)

视图层是项目中存放展现前端页面文件的地方,一般来讲视图层对应的文件是指模板文件,它通常保存在resources目录的templates子目录里。另外对于JS文件、CSS文件和图片文件这些文件是模板文件的附属文件,它们统一保存在resources目录下的static目录下的js、css、images这三个子目录里。

综上所述,我们划分了这些功能和层次,然后我们还会在此基础上,在控制层、业务层、DAO层、实体层和视图层里根据后台管理的模块划分模块层,分别是admin、member、goods、order子包或子目录。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ruby01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值