DAO层沟通数据库和service层,注解为@Repository。
接下来讲一下每层的构成:
一般来说,对应每个实体(部件,比如说user),需要分别的一个Controller层,Service层,和DAO层给予对应,前两个层一般只有一个类,但在DAO层里面一般是一个接口UserDAO和一个bean(实体类)UserDAOImpl。这个接口(可以不要)负责确定数据连接层的方法,而bean就是直接用来连接数据库的一个实体类,必须implement接口UserDAO并实现其中的方法。
反观 controller发起指令的流程:
因为Springboot所具有的的IoC的特点,数据先被从数据库注入DAO层里面的Repository,然后注入Service,通过引用的方法最后到达Controller,向前端发送。
有一些基础的Spring知识点
什么是Dependency(依赖)?当任意类X使用了类Y里面的方法,那么Y对于X来说就是一个依赖。
什么是Dependency injection(依赖注入)和Inversion of Control(控制反转)?这都是Springboot框架的特点,一般情况下用户通过主方法层层往下引用类,被引用的类只有当被引用了才会初始化,但是控制反转则不同,首先初始化最底层类,再向上引用,并逐层初始化添加了依赖的类。反转控制注入的位置需要通过注解@Autowire来添加,一般是方法的构造器。
原文:https://www.cnblogs.com/ju-ruo/p/14842610.html