javaEE中关于dao层和services层的理解
入职已经一个多月了,作为刚毕业的新人,除了熟悉公司的项目,学习公司的框架,了解项目的一些业务逻辑之外,也就在没学到什么;因为刚入职,
带我的那个师傅就去湖南出差了,至今还没回来,有些东西没法当面问,而我这人也不怎么会说话,只能将一些熟悉项目过程中遇到的问题记录下来,
后面当面挨个问清。
下面记录一下以前常看到,但是没有具体好好理解的关于dao层和services层的内容:
1.顶层的dao是IBaseDao接口,也就是一个dao操作数据库的规范,顶层有BaseDaoImpl对IBaseDao进行了实现,这一层是dao层,只做简单的crud,
不做具体的业务逻辑。(没有做更具体的意思也就是只操作了一个实体类,没有将几个实体类放在一起进行操作
而我们的业务逻辑层就是同时操作几个实体类,并做事务的实现)
2.下面是各个模块的service层,他们都公用dao层,具体的业务逻辑在这一层进行实现,如果是比较单一的业务逻辑,直接使用dao中的方法就可以满足业务,
如果是比较复杂,涉及到多个pojo对象,需要自己添加service层进行单独处理。比如:service层同时操作几个pojo对象。
最后,如上的dao和service是基于接口编程的,因为我们具体实现dao的方式不同,以及我们处理业务逻辑的方式不同(一个人都有自己实现业务的方式,他们
之间是不同的),就需要我们定义成接口,定义成规范,有了规范,但是实现是不确定,根据具体的要求有不同的实现。一个业务逻辑可以有多种实现方式。同样dao层
定义成接口也是基于这样的缘由。
这就是我们要将dao和service层定义用做接口实现。