ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

实习日记07/12 day3

2021-07-13 09:02:25  阅读:184  来源: 互联网

标签:dao 12 java 07 Service DAO day3 JavaBean 属性


实习日记07/12 day3

万事总是开头难,当生活从一个阶段转到另一个阶段总会感到不适应,这时候需要的就是稳住心境,踏实肯干,所有的不适应总有一天会变为习以为常.
今日重点: 项目结构
我所接触的项目一般分为四层结构:beans、dao、service、utils,有时还会有mq层

beans层:

JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,long和class方法获取。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制发现和操作这些JavaBean 的属性。
java语言是面向对象的,而bean就是对事物的一层抽象,将其变为对象,方便之后的操作。
比如在商城项目中,用户、商品、卖家就是三个java bean,他们有自己的私有属性,通过getter、setter方法可以获取和设置,beans层是项目的底层。
可以想象如果没有beans层,那么商城项目的实施需要不断的new 新的customer,producer,produce,然后对他们在进行操作,造成了很多重复的代码,新建了许多无必要的对象。
JavaBeanJavaBean是公共Java类,但是为了编辑工具识别,需要满足至少三个条件:
1.有一个public默认构造器(例如无参构造器)。
2.属性使用public 的get,set方法访问,也就是说设置成private,同时get,set方法与属性名的大小也需要对应。例如属性name,get方法就要写成,public String getName(){},N大写。3.需要序列化。这个是框架,工具跨平台反映状态必须的。

DAO层

DAO层就是数据访问层,向数据库发送sql语言的作用,在学习Hibernate的时候,反向工程简化了DAO的操作,可以直接一键生成对各种数据的操作。对于一个业务来说,完成什么样的事情不是由DAO层来决定的,DAO层只负责简单的数据操作,包括增删改差等内容,不涉及具体业务。
在我所接触的业务中,DAO层分为java-dao层和mapper层,java-dao层是对数据的各种接口,比如说消费订单表的增删改查,而mapper层则是xml格式下的sql语句,并与java-dao层所定义的操作一 一对应。
一个典型的DAO实现有下列几个组件:

  1. 一个DAO工厂类;
  2. 一个DAO接口;
  3. 一个实现DAO接口的具体类;
  4. 数据传递对象(有些时候叫做值对象).

Service层

Service层很明显,就是服务层,一个项目的具体任务在本层中完成。通过调用DAO层的接口完成各种业务,如查询昨日的消费额,就是调用DAO层的查询再累加返回销售额值。
在我所接触到业务中,没有Controller层,而是将Controller放入了Service层这一个大类当中,所以前端的请求会在Service层中处理解决。
例如一名顾客发送了购买请求,由页面递交到Controller,controller决定这个请求应该交由购买service处理,购买service调用了商品,订单数据库的操作,也就是DAO层,完成整个业务

Utils层

工具层,存放着项目所使用的所有工具类

标签:dao,12,java,07,Service,DAO,day3,JavaBean,属性
来源: https://blog.csdn.net/qq_43285863/article/details/118680435

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有