Java SpringBoot学习记录(5)

张开发
2026/4/17 20:23:49 15 分钟阅读

分享文章

Java SpringBoot学习记录(5)
3.1 SpringBoot Web分层解耦 三层架构:学习视频链接:Day05-09. 分层解耦-三层架构_哔哩哔哩_bilibili下面是一个未经过分层解耦的案例(EmpController)由于整个内容写在一个Controller文件里面导致其复用性差并且难以维护。但是我们可以对内容分成三部分:数据访问部分逻辑处理部分接受响应部分。由此引出三层架构的思想。三层架构:接下来我们将原来的EmpController分成EmpDaoEmpServiceEmpController三部分实现三层架构。3.2 SpringBoot Web分层解耦 IOC/DI引入:学习视频链接:Day05-10. 分层解耦-分层解耦(IOC-DI引入)_哔哩哔哩_bilibili内聚和耦合的定义内聚软件中各个功能模块内部的功能联系。耦合衡量软件中各个层/模块之间的依赖、关联的程度。软件设计原则要求高内聚低耦合。分层解耦情景:上图是前面提到过的controller层的代码。由于新建了一个EmpServiceA对象导致controller层和service层耦合如果多添加EmpServiceB的业务逻辑controller就不能只绑定EmpServiceA。下面进行分层解耦来解决这样的问题:第一步:将new对象删除仅保留声明第二步:创建一个容器容器里面可以存放EmpServiceA也可以存放EmpServiceB。第三步:controller访问容器即可控制反转InversionOfControl简称Ioc。对象的创建控制权由程序自身转移到外部容器这种思想称为控制反转。依赖注入DependencyInjection简称Dl。容器为应用程序提供运行时所依赖的资源称之为依赖注入。Bean对象loc容器中创建、管理的对象称之为bean。3.3 SpringBoot Web分层解耦 IOC/DI入门:学习视频链接:Day05-11. 分层解耦-IOCDI-入门_哔哩哔哩_bilibiliComponent:将当前类交给IOC容器管理成为IOC容器中的bean - 控制反转Autowired:运行时IOC容器会提供该类型的bean对象并赋值给该变量 - 依赖注入3.4 SpringBoot Web分层解耦 IOC详解:学习视频链接:Day05-12. 分层解耦-IOCDI-IOC详解_哔哩哔哩_bilibili关于Component的衍生注解:Bean组件扫描:●前面声明bean的四大注解要想生效还需要被组件扫描注解Componentscan扫描。●ComponentScan注解虽然没有显式配置但是实际上已经包含在了启动类声明注解SpringBootApplication中默认扫描的范围是启动类所在包及其子包。3.5 SpringBoot Web分层解耦 DI详解:学习视频链接:Day05-13. 分层解耦-IOCDI-DI详解_哔哩哔哩_bilibiliBean注入:三种解决方法:1.在想要的Service上面添加Primary:2.在Autowired上面通过指定bean的value值确定3.在容器对象上面通过指定bean的名称确定Resource与Autowired区别Autowired是spring框架提供的注解而Resource是JDK提供的注解。Autowired默认是按照类型注入而Resource默认是按照名称注入。

更多文章