SpringBoot各层之间的联系和作用(新手向)

Springboot框架分controller层,service层和dao层,分别负责不同的业务。

  • Controller层沟通前后端,注解为@RestController
  • Service层沟通DAO层和Ccontroller层,注解为@Service
  • 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来添加,一般是方法的构造器。

感谢大家阅读到底,如有问题请立即指出

你可能感兴趣的:(spring,数据库,spring,boot,java)