首页 > 编程语言 >Java项目中的各种层

Java项目中的各种层

时间:2023-10-06 19:11:26浏览次数:41  
标签:各种 DTO Service 项目 entity Controller 数据传输 Java 数据

 

1、Dao层(持久层、数据访问层)

2、Controller层(控制层、action层)

3、Service层(业务层、biz)

4、Entity层(实体层、domain层)

5、view层(负责前台jsp页面的表示)

6config层(负责ssm的整体配置,主要包含spring,springmvc,mybatis的配置文件)

7、dto层(数据传输对象层)

 

工作流程:

用户发出请求到Controller
- Controller调用Service的业务方法
- Service调用Dao访问数据库,并返回数据
- Service返回数据到Controller
- Controller跳转到视图,并渲染数据
- 将视图响应给用户

DTO 与 Entity 差别和使用条件

entity:实体类,是用于说明某实体中所包含的所有属性,与数据库中的字段是保持一致的

DTO:数据传输对象,顾名思义,DTO是用于数据传输的,是根据实际的业务需求来决定这个对象具体包含哪些属性。是根据实际的业务需求来,将所要的数据返回给前端,以免造成不必要的资源浪费和数据暴露,造成不必要的安全问题。

举个例子
现有学生实体类(entity),属性包括:id、学号、姓名、班级、性别、院系、专业;
但是现在前端的业务只需要返回学生的 学号、姓名、班级、专业 ,这时如果使用entity返回对象数据则会造成不必要的数据泄露(id、性别等),所以,这里采用数据传输对象(DTO)会更好一些,这个DTO只需要包含需要的属性即可。

标签:各种,DTO,Service,项目,entity,Controller,数据传输,Java,数据
From: https://www.cnblogs.com/collected/p/17744848.html

相关文章

  • springboot项目-前台往后台传递json数据
    1、json数据对应实体类,用实体类接收----------------------------前台----------------------------------$.ajax({type:"POST",url:"/monster/updateMonster",contentType:"application/json",data:JSON.stringify(monster1),success:......
  • Java多线程详解
          线程对象是可以产生线程的对象。比如在Java平台中Thread对象,Runnable对象。线程,是指正在执行的一个指点令序列。在java平台上是指从一个线程对象的start()开始,运行run方法体中的那一段相对独立的过程。相比于多进程,多线程的优势有:   (1)进程之间不能共享数据,线......
  • Java生成6位随机数(数字和拼音)Demo
    publicstaticvoidmain(String[]args){//length=6生成的位数intlength=6;StringBuffersb=newStringBuffer();StringALLCHAR="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";Randomrandom=newRandom();f......
  • Exception in thread "main" java.lang.UnsupportedClassVersionError: org/example/J
    问题描述使用hadoop在虚拟机里面运行打包的程序出错:问题解决真的服了,貌似是jdk的版本啥的问题,搜了好多,就是解决不了,求助求助啊!......
  • 各种模板
    【模板】栈#include<stack>#include<string>#include<iostream>usingnamespacestd;intmain(){ cin.tie(0); intt,n; for(cin>>t;t;--t){ stack<unsignedlonglongint>s; for(cin>>n;n;--n){ stringt;......
  • java——redis随笔——实战——短信登录
    前言: 此章节用到的知识点:mybatisPlus ;参考网址:https://www.bilibili.com/video/BV1Xu411A7tL?p=7&vd_source=79bbd5b76bfd74c2ef1501653cee29d6  正常新建一个接口: 再新建这个接口的实现类:  修改接口: 修改实现类:  然后就可以注入并使用了:   ......
  • app直播源代码,JavaWeb如何设置定时任务
    app直播源代码,JavaWeb如何设置定时任务1.在xml文件中添加监听器 <?xmlversion="1.0"encoding="UTF-8"?><web-appversion="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"......
  • JAVA——异常
    JAVA——异常父类Exception子类RuntimeException和其他异常Exception:叫做异常,代表程序可能会出现的问题,我们通常会用Exception以及它的子类来封装程序出现的问题运行时异常:RuntimeException及其子类,编译阶段不会出现异常提醒,运行时出现的异常(如:数组越界异常)编译时异......
  • JavaScript闭包是如何工作的?
    内容来自DOChttps://q.houxu6.top/?s=JavaScript闭包是如何工作的?如何向一个对JavaScript闭包所包含的概念(例如函数、变量等)有一定了解,但不了解闭包本身的人解释这个概念?我在维基百科上看到了Scheme示例,但不幸的是它并没有帮助。闭包是由以下两部分组成的:一个函数和该......
  • 如何检查一个字符串是否包含子字符串的JavaScript方法?
    内容来自DOChttps://q.houxu6.top/?s=如何检查一个字符串是否包含子字符串的JavaScript方法?通常,我会期望有一个String.contains()方法,但似乎没有这个功能。有什么合理的方式来检查这个吗?ECMAScript6引入了String.prototype.includes:conststring="foo";constsubstri......