纯小白,非计算机专业,所以很多文章很没有意义,但是也是自己的思考,如果有不对的地方,欢迎大家指正!!。
今天看了课程,发现老师在进行数据库操作时,直接使用了Dao层,并没有涉及到Service层。
问题产生原因
一开始学习就是按照Springboot学习来进行一个简单展示页面,前后端分离的项目,所以一直对Dao层和Service层理解非常浅。所以这一次看到老师的操作有点疑惑
思考
现在的理解时,Dao层更像是直接从数据库拿数据,Service会对数据进行初步的处理,Controller层会进行最终的处理和返回相应值(如getmapping等)。
怎么理解呢,像做糕点,Dao层像是稻米供应商,拿到原始的稻麦;service像是面粉供应商,对稻麦进行处理,加工成面粉;Controller层像是厨师,对面粉加工,做成糕点。
当然了,当dao层等extends BaseMapper<>
相当于获取了基本的其他功能,比如稻米的去壳、包装等(对应增删改查),这些功能肯定会用到,所以有时候会予以封装,直接使用。如果Controller层只需要用到这些功能,如Controller层只是一个稻米商贩,那这些功能就够用了,就不再需要service了。
总而言之,Dao、Service、Controller层更多的是一种概念,不是说必须在哪一层做完,而是一种解耦的手段。
仍然存在问题
其实对Service层了解的还是非常少,也没有接触具体的业务,后面继续看看。
如果有小伙伴有好的理解,一起探讨哈!
祝愿天天开心!