各部分的作用

基本流程:
用户发送请求时从前端的页面开始的,前端get到这个请求后会把请求和顺带参数信息传送到后台,后台接受这个请求找到对应的接口去执行对应的controller里的对应的方法,然后执行,然后controller会调用service层的业务逻辑,service有会去访问dao层来连接数据库

1、这里只接收数据,然后校验数据,校验合法性和准确性,比如说登录的controller,接收到用户名和密码,你要判断长度是否符合要求,密码解密出来。

2、有的必要的情况,创建一个对象,把数据补全,比如他的一些简单的属性,创建时间啊修改时间啊,还有初始值什么的。

3、其他的都不要写在controller里,其他的复杂业务逻辑判断什么的,都放在service里头去。


具体的一个web项目中是:Controller层调用了Service层的具体功能方法,Service层调用Dao层的方法,其中调用的参数是使用Entity层进行传递的。

1、Service层:业务层–>控制业务
业务模块的逻辑功能设计,和DAO层一样都是先设计接口,再创建要实现的类,然后在配置文件中进行配置其实现的关联。接下来就可以在service层调用接口进行业务逻辑应用的处理。

好处:封装Service层的业务逻辑有利于业务逻辑的独立性和重复利用性。

2、Controller层:控制层–>调用业务层方法来控制业务逻辑
controller层主要调用Service层里面的接口来控制具体的业务流程,控制层的配置也要在配置文件中进行。

Controller和Service的区别是:Controller负责具体的业务模块流程的控制;Service层负责业务模块的逻辑应用设计

3、Dao层:持久层,主要与数据库交互
Dao层首先会创建Dao接口,接着就可以在配置文件中定义该接口的实现类;然后就可以在模块中调用Dao的接口进行数据业务的处理,而不用关注此接口的具体实现类是哪一个类,Dao层的数据源和数据库连接的参数都是在配置文件中进行配置的。

4、Entity层:实体层–>数据库在项目中的类
主要用于定义与数据库对象应的属性,提供get/set方法,tostring方法,有参无参构造函数。


1、dao层:数据访问层
dao层属于一种比较底层,比较基础的操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一 一对应的,其中封装了增删改查基本操作,建议DAO只做原子操作,增删改查。

负责与数据库进行联络的一些任务都封装在此,dao层的设计首先是设计dao层的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可以再模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,dao层的数据源配置,以及有关数据库连接参数都在Spring配置文件中进行配置。

2、service层:服务层
粗略的理解就是对一个或多个DAO进行的再次封装,封装成一个服务,所以这里也就不会是一个原子操作了,需要事物控制。

service层主要负责业务模块的应用逻辑应用设计。同样是首先设计接口,再设计其实现类,接着再Spring的配置文件中配置其实现的关联。这样我们就可以在应用中调用service接口来进行业务处理。service层的业务实,具体要调用已经定义的dao层接口,封装service层业务逻辑有利于通用的业务逻辑的独立性和重复利用性。程序显得非常简洁。

3、controller层
Controler负责请求转发,接受页面过来的参数,传给Service处理,接到返回值,再传给页面。

controller层负责具体的业务模块流程的控制,在此层要调用service层的接口来控制业务流程,控制的配置也同样是在Spring的配置文件里进行,针对具体的业务流程,会有不同的控制器。我们具体的设计过程可以将流程进行抽象归纳,设计出可以重复利用的子单元流程模块。这样不仅使程序结构变得清晰,也大大减少了代码量。

关系
Service层是建立在DAO层之上的,建立了DAO层后才可以建立Service层,而Service层又是在Controller层之下的,因而Service层应该既调用DAO层的接口,又要提供接口给Controller层的类来进行调用,它刚好处于一个中间层的位置。每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。

controller层:与前端之间的信息传输
pojo层:实体类,数据库的字段

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++是一种高级编程语言,常用于开发各种类型的应用程序,包括操作系统、驱动程序、桌面应用程序、游戏、嵌入式系统、Web应用程序等。一个C++项目通常包含以下部分: 1. 头文件:头文件包含了类、函数、变量等的声明,用于告诉编译器这些元素的存在和属性。常见头文件包括iostream、string、vector等。 2. 源文件:源文件包含了程序的实现,通常以.cpp为后缀名。在源文件中可以包含头文件,引用库文件,定义类、函数、变量等。 3. 库文件:库文件包含了已经编译好的函数、类和变量等,可以在程序中被直接引用。库文件分为静态库和动态库,静态库在编译时被链接到程序中,而动态库在运行时被加载。 4. 编译器:编译器是将源代码编译成可执行程序的工具,常见的C++编译器有GCC、Visual C++、Clang等。 5. 调试器:调试器是用于调试程序的工具,可以在程序执行时跟踪代码的执行过程,查看变量的值,定位程序崩溃的原因等。常见的C++调试器有GDB、Visual Studio Debugger等。 6. 集成开发环境(IDE):IDE是一个集成了编译器、调试器、编辑器、自动化构建工具等的开发环境,可以提高开发效率和代码质量。常见的C++ IDE有Visual Studio、Code::Blocks、Eclipse等。 C++的应用领域广泛,开发一个C++项目需要多个部分协同工作,才能完成复杂的任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值