每日八股day27

本系列帖子为鼠鼠复习八股巩固记忆和个人理解所写,如有错误纯属本人实力不佳,欢迎各位大佬阅读指正

1.SpringBoot对比Spring优势?

Spring是一套核心框架,做IOC、AOP,SpringBoot不是替代Spring,是基于Spring的快速开发脚手架,底层依然使用Spring核心。

SpringBoot优势:

自动配置,告别繁琐XML配置

原生Spring需要大量xml配置,手动配置Bean、数据库、MVC等,SpringBoot通过条件注解@Conditional实现自动装配,根据项目依赖自动创建Bean、几乎零xml,减少样板配置代码。

起步依赖简化依赖管理

Spring需要自己管理一大堆jar包,手动控制版本,容易出现版本冲突,SpringBoot提供起步依赖(starter)启动器,例如spring-boot-starter-web,引入一个starter自动导入一套配套版本依赖,版本由Boot父工程统一管控,解决版本冲突。

内置Web服务器

Spring开发web项目,需要外部单独部署Tomcat,打包放到容器,SpringBoot内置Tomcat,默认打jar包,java-jar直接运行,不需要额外web容器,部署简单。

嵌入式容器,独立应用

项目打成jar包即可直接启动,不依赖外部容器,运维部署简单,非常适合微服务。

自带监控,健康检查

引入actuator可以暴露接口,查看应用运行状态,Bean信息、内存、日志等,Spring原生需要自己整合第三方组件。

简化项目搭建

Spring Initializr快速生成项目骨架,不用手动搭建目录结构。

缺点:

自动配置黑盒,底层封装较重,遇到自动装配异常,排查问题难度比原生Spring高。

2.SpringBoot用到哪些设计模式?

单例模式Singleton:

整个容器只创建一个Bean实例,减少对象创建开销,复用对象。

工厂模式Factory:

简单工厂,Spring最顶层工厂接口,根据BeanName获取Bean对象。

抽象工厂,继承BeanFactory,扩展更多能力。

封装对象创建,使用者不用new,交给容器创建管理Bean。

代理模式Proxy(AOP核心):

不修改目标类源码,对方法做增强,实现日志、事务、权限。

适配器模式Adapter:

适配不同Handler,统一执行Controller,多种参数解析器,消息转换器也体现适配器。

装饰器模式Decorator:

在不改变原有对象基础上,动态增强对象功能。

模板方法模式Template Method:

定义一套固定执行流程,可变逻辑交给子类实现,简化重复模板代码。

策略模式Strategy:

同一套行为有多种实现,运行时选中对应策略执行。

建造者模式Builder:

分布构建复杂对象,把对象构造和属性赋值分离。

观察者模式Observer:

事件发布,和事件监听解耦,比如项目启动完成事件。

相关推荐
CarIise3 小时前
Spring Boot入门:从项目创建到请求响应实战
spring boot
马剑威(威哥爱编程)4 小时前
【AI全栈后端12-02】Spring Boot 跑通第一个 AI 对话接口:HR 政策问答机器人实战
java·人工智能·spring boot·机器人
摇滚侠4 小时前
《Spring Boot 3:高级与架构设计》第 2 章 IOC 容器的高级机制 编程式驱动 IOC 阅读笔记 7
java·spring boot·笔记
不停喝水5 小时前
【前端转全栈java速通课】 项目实战④-1 Spring Boot 创建项目-定义接口-请求参数处理-分层规范-依赖注入
java·前端·spring boot
FYKJ_20106 小时前
springboot鲜花销售系统91056-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·mysql·django·课程设计
Wx-bishekaifayuan7 小时前
Springcloud中学在线学习平台58883-计算机课程设计、毕业设计
java·vue.js·spring boot·学习·spring·spring cloud·课程设计
JavaEdge.7 小时前
Redis 连接断开后的自动重连操作
spring boot·redis·后端·lettuce·tcp keepalive
EatFan16 小时前
Spring Boot 4 落地观察:从 yudao-cloud、matecloud、JPower 看国产脚手架的升级路线与迁移清单
java·spring boot·后端·spring cloud·微服务·后端开发·jdk 21
凤山老林1 天前
Spring Boot 集成 iText 7 实现动态 PDF 生成与电子签章:合同、报表场景实战
spring boot·后端·pdf·itext7·电子签章
卓怡学长1 天前
w204基于springbo旅行社签证代理服务系统
java·spring boot·spring·intellij-idea