分层解耦

本文介绍了SpringBoot中的三层架构(控制层、业务逻辑层和数据访问层),强调了内聚和耦合的概念,以及如何通过控制反转(IoC)和依赖注入(DI)来实现高内聚低耦合。通过@Component和@Autowired注解,展示了如何让SpringBoot自动管理Bean对象并注入依赖。

分层解耦

三层结构

  • controller

    控制层,接受前端发送的请求,对请求进行处理,并响应数据。

  • service

    业务逻辑层,处理具体的业务逻辑。

  • dao

    数据访问层,持久层,负责数据访问操作,包括数据的增删改查。

内聚:软件中各个功能模块内部的功能联系

耦合:衡量软件中各个层/模块之间的依赖、关联的程度。

软件的设计原则:高内聚低耦合

控制反转:IOC,对象的创建控制权由程序自身转移到外部容器,这种思想成为控制反转。

依赖注入:DI,容器为应用程序提供运行时所依赖的资源,称之为依赖注入。

Bean对象:IOC容器中创建、管理的对象,称之为bean。

在这里插入图片描述

使用方式:

  1. 将Service层及Dao层的实现类,交给IOC容器管理

    只需要在类的上面加上**@Component**注解,springboot就会自动将其托管。

  2. 为Controller及Service注入运行时以来的对象

    给定义好的对象上面加上**@Autowired**注解,springboot就会自动在容器中选择其所依赖的对象。

IOC详解

要将某个对象交给IOC容器管理,需要在对应的类上加上如下注解之一:

注解说明位置
@Component声明bean的基础注解不属于以下三类时,用此注解(一般用于工具类)
@Controller@Component的衍生注解标注在控制器上
@Service@Component的衍生注解标注在业务类上
@Repository@Component的衍生注解标注在数据访问类上(由于mybatis整合,用的少)

注解生效的原因是spring的组件扫描功能,默认的扫面空间是启动类所在的包及其所有子包,所以在编写代码时需要注意规范,当然也可以手动进行指定,但按照规范走可以完美规避不必要的操作,而且会让代码变得美观且合理。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值