▷ springboot各层之间的作用及联系(彻底理解)

⌹ 365bet足球网投 ⏱️ 2025-06-27 21:59:46 👤 admin 👁️‍🗨️ 3468 ❤️ 991
springboot各层之间的作用及联系(彻底理解)

前言:找一个海滩,找一个黄昏,看一片夕阳,思一回人生,偶尔也需要停下脚步,沉思自己!

从大一到现在,感觉自己都是一个新的东西接着一个新的东西的学,没有笔记也没有总结,虽然学了一些技术栈,但终究只是学了。理解不透彻,也没有学得精通,更没有熟练掌握!学会总结才是对知识最好的归类! 纸上得来终觉浅,绝知此事要躬行!

具体的web项目:

controller层—>service层(serviceImpl实现service接口)—>mapper层—>mapper.xml文件

解释:controller层调用了service层的具体功能和方法,service层由service对应的接口和实现类组成,serviceImpl实现service的相关接口同时完成相关的业务逻辑处理。service层(serviceImpl)再调用mapper层的接口进行业务逻辑应用的处理。mapper层的接口在对应的xml配置文件中进行配置、实现以及关联,故mapper层的任务就是向数据库发送sql语句,完成数据的处理任务!

pojo层映射数据库,pojo层的一个实体类映射数据库中的一张表。

example:

controller层(AdminController):

public class AdminController {

@Autowired

private IAdminService adminService;

@ApiOperation(value = "获取操作员")

@GetMapping("/")

public List getAllAdmin(String keywords) {

return adminService.getAllAdmins(keywords);

}

}

Service层:

service接口(IAdminService):

public interface IAdminService extends IService {

/**

* 获取操作员

* @param keywords

* @return

*/

List getAllAdmins(String keywords);

}

service接口的Impl(AdminServiceImpl):

@Service

public class AdminServiceImpl extends ServiceImpl implements IAdminService {

@Autowired(required = false)

private AdminMapper adminMapper;

/**

* 获取所有操作员

* @param keywords

* @return

*/

@Override

public List getAllAdmins(String keywords) {

return adminMapper.getAllAdmins(AdminUtils.getCurrentAdmin().getId(),keywords);

}

Mapper层(AdminMapper):

public interface AdminMapper extends BaseMapper {

/**

* 获取所有操作员

* @param id

* @param keywords

* @return

*/

List getAllAdmins(@Param("id") Integer id,@Param("keywords") String keywords);

}

Mapper.xml配置文件(AdminMapper.xml):

解释:(这是我一个项目的部分代码,关于各个层的调用关系也只是截取了每个接口或类调用的地方,可能会存在不足之处)

首先是controller层,controller层自动注入了service层的IAdminService接口,并且通过该接口的对象adminService调用了service层中IAdminService接口的getAllAdmins方法。而IAdminServiceImpl自动注入了mapper层的AdminMapper接口,并在其getAllAdmins方法中利用AdminMapper接口的对象调用了AdminMapper中的getAllAdmins方法。Mapper层的AdminMapper中的getAllAdmins方法再与Mapper.xml配置文件中的AdminMapper.xml配置文件通过namespace以及相关id进行关联,从而完成对数据库的操作,完成数据处理任务!

下面是各层的具体含义:(转自这个博主的链接)

controller

控制层,控制业务逻辑service,控制请求和响应,负责前后端交互 controller层主要调用Service层里面的接口控制具体的业务流程,控制的配置也要在配置文件中进行

pojo

model是模型的意思,与entity、domain、pojo类似,是存放实体的类,类中定义了多个类属性,并与数据库表的字段保持一致,一张表对应一个model类。 主要用于定义与数据库对象应的属性,提供get/set方法,tostring方法,有参无参构造函数。

service

业务逻辑层,完成功能的设计 和dao层一样都是先设计接口,再创建要实现的类,然后在配置文件中进行配置其实现的关联。接下来就可以在service层调用dao层的接口进行业务逻辑应用的处理。 service的impl是把mapper和service进行整合的文件 封装Service层的业务逻辑有利于业务逻辑的独立性和重复利用性。

mapper

又被成为mapper层,叫数据持久层,先设计接口,然后在配置文件中进行配置其实现的关联。 dao层的作用为访问数据库,向数据库发送sql语句,完成数据的增删改查任务。 数据持久化操作就是指,把数据放到持久化的介质中,同时提供增删改查操作,比如数据通过hibernate插入到数据库中 概览:

◈ 相关文章

曾经号称美国都仿制不了的AN94步枪,现在为何很少露面了?
⌹ 365bet足球网投

▷ 曾经号称美国都仿制不了的AN94步枪,现在为何很少露面了?

⏱️ 06-27 👁️‍🗨️ 8293
炸金花真人游戏
⌹ 365bet在线网投

▷ 炸金花真人游戏

⏱️ 06-27 👁️‍🗨️ 9997
为什么老师会在这里!?
⌹ 365bet在线网投

▷ 为什么老师会在这里!?

⏱️ 06-27 👁️‍🗨️ 2062