
Spring、SpringBoot
文章平均质量分 76
spring干货分享,实战及面试所需的知识点分享,助力你全面提升自己!
五道书童
随心所欲,想发就发
展开
-
如何加快springboot项目的服务启动时间
Spring Boot 3.0+ 支持 GraalVM 原生镜像(Native Image),可显著减少启动时间,但需要适应 AOT 编译的限制。通过上述优化,启动时间通常可缩短 30%~50%。例如,一个原本启动需要 10 秒的项目,优化后可能降至 5~7 秒。但需根据实际场景测试调整。Spring Boot 的自动配置会扫描类路径并加载大量默认配置。Spring Boot 默认扫描主类所在包及其子包。但需注意:延迟初始化可能导致首次请求响应变慢,需权衡利弊。原创 2025-04-28 09:15:00 · 825 阅读 · 0 评论 -
终于搞懂什么是Spring上下文(Context)
Spring 上下文(原创 2025-04-23 10:30:00 · 1113 阅读 · 0 评论 -
SpringBoot启动过程源码中所运用的设计模式
Spring Boot 的启动过程源码中广泛运用了多种设计模式,这些模式不仅提升了代码的灵活性和扩展性,还确保了框架的高效运行。:将不同类型的通知(Advice)适配为统一的拦截器(Interceptor)。存储单例 Bean,使用双重检查锁(DCL)确保线程安全。:事件驱动模型,处理启动过程中的生命周期事件。等步骤),但具体实现由子类完成。:Spring Bean 的默认作用域。接口自定义复杂 Bean 的创建逻辑。:Spring AOP 的动态代理实现。:Spring 容器初始化的核心流程。原创 2025-04-17 09:45:00 · 890 阅读 · 0 评论 -
SpringBoot中SpringApplicationRunListeners类的作用
是 Spring Boot 中的一个重要类,它主要负责管理和触发应用程序运行期间的各种事件监听器。原创 2025-04-21 09:00:00 · 174 阅读 · 0 评论 -
SpringBoot中EventPublishingRunListener类的作用
是 Spring Boot 中一个关键的运行监听器实现类,它负责在应用程序启动过程中。原创 2025-04-17 09:00:00 · 325 阅读 · 0 评论 -
SpringBoot与SpringCloud的区别
Spring Boot 和 Spring Cloud 是 Spring 生态系统中两个不同的框架,它们解决的问题和适用场景有所不同,但通常可以结合使用。开发简单的单体应用(如后台管理系统、小型 RESTful API)。的快速开发、测试和部署问题,降低 Spring 应用的入门成本。实际项目中,通常会结合两者:用。原创 2025-04-10 09:15:00 · 1300 阅读 · 0 评论 -
SpringBoot启动过程详解
main()├─ 创建 SpringApplication 实例│ ├─ 确定应用类型│ ├─ 加载 ApplicationContextInitializer│ └─ 加载 ApplicationListener├─ 执行 run() 方法│ ├─ 准备环境│ ├─ 创建应用上下文│ ├─ 准备上下文│ ├─ 刷新上下文(核心)│ │ ├─ 准备刷新│ │ ├─ 获取 BeanFactory│ │ ├─ 准备 BeanFactory。原创 2025-04-03 09:45:00 · 814 阅读 · 0 评论 -
Spring的Bean到底是个什么东东
/原创 2025-03-28 10:00:00 · 482 阅读 · 0 评论 -
Spring异步方法循环调用结果收集
注解实现异步方法调用时,若需在循环中收集异步方法的返回结果,需结合。在循环中调用异步方法,收集所有。在Spring框架中,使用。原创 2025-03-28 09:45:00 · 307 阅读 · 0 评论 -
Spring事务失效的12种场景
Spring事务失效的原因多种多样,常见的问题包括方法可见性、异常处理、传播行为配置、代理机制等。理解这些场景并采取相应的解决方案,可以有效避免事务失效问题。在实际开发中,建议仔细检查事务配置,确保事务逻辑正确执行。原创 2025-03-20 10:00:00 · 870 阅读 · 0 评论 -
SpringBoot事务传播行为详细教程
事务传播行为定义了事务方法在调用另一个事务方法时,事务应该如何传播。REQUIRED(默认):如果当前存在事务,则加入该事务;如果当前没有事务,则创建一个新的事务。:创建一个新的事务,如果当前存在事务,则挂起当前事务。SUPPORTS:如果当前存在事务,则加入该事务;如果当前没有事务,则以非事务方式执行。:以非事务方式执行操作,如果当前存在事务,则挂起当前事务。MANDATORY:如果当前存在事务,则加入该事务;如果当前没有事务,则抛出异常。NEVER。原创 2025-03-20 16:36:34 · 783 阅读 · 0 评论 -
Spring事务传播行为——事务挂起VS事务嵌套有何区别
事务挂起是指当前事务被暂时挂起(暂停),然后启动一个新的事务。挂起的事务会被保存,直到新事务完成后恢复。事务嵌套是指在一个事务内部启动另一个事务,内部事务是外部事务的一部分。内部事务的提交或回滚会依赖于外部事务。原创 2025-03-20 21:23:17 · 696 阅读 · 0 评论 -
Spring、SpringBoot、SpringCloud的区别与联系
Spring是基础框架,提供了核心的依赖注入、AOP 等功能。是 Spring 的扩展,旨在简化 Spring 应用的开发和部署。是基于 Spring Boot 的微服务解决方案,提供分布式系统开发所需的工具和组件。使用快速构建独立的服务。使用将这些服务组织成分布式系统。底层依赖Spring提供的核心功能。原创 2025-03-21 22:38:14 · 695 阅读 · 0 评论 -
Spring事务隔离级别超详细教程
事务隔离级别定义了一个事务中的操作在多大程度上对其他并发事务的操作可见。READ_UNCOMMITTED(读未提交)最低的隔离级别。允许一个事务读取另一个事务未提交的数据。可能导致脏读、不可重复读和幻读。READ_COMMITTED(读已提交)保证一个事务只能读取到已提交的数据。可以避免脏读,但可能出现不可重复读和幻读。REPEATABLE_READ(可重复读)保证在同一事务中多次读取同一数据时,结果一致。可以避免脏读和不可重复读,但可能出现幻读。SERIALIZABLE(串行化)原创 2025-03-21 22:23:08 · 433 阅读 · 0 评论 -
使用Spring Retry实现补偿机制并结合熔断器防止雪崩
通过结合Spring Retry和Resilience4j的熔断器,可以实现服务的重试和熔断机制,从而防止雪崩效应。Spring Retry负责在失败时进行重试,而Resilience4j的熔断器则在服务持续失败时打开,防止进一步的请求压垮服务。原创 2025-03-20 10:30:00 · 687 阅读 · 0 评论 -
springboot中的定时任务详解
通过以上步骤,你可以在Spring Boot中轻松地创建和管理定时任务。@Scheduled注解提供了灵活的配置选项,结合Cron表达式和线程池配置,可以满足大多数定时任务的需求。原创 2025-03-20 10:41:15 · 991 阅读 · 0 评论 -
Spring事务传播SUPPORTS与无事务注解的区别
传播行为与不添加事务注解(即不开启事务)的区别主要体现在事务的参与方式和执行上下文的处理上。根据业务需求选择合适的方式:如果需要方法在某些情况下参与事务协同,使用。如果明确不需要事务,则不添加注解。在Spring事务管理中,原创 2025-03-21 22:20:18 · 333 阅读 · 0 评论 -
SpringBoot事务管理-保姆级教程
特性配置方式常用场景传播行为多方法嵌套调用隔离级别isolation高并发环境回滚规则自定义异常处理逻辑只读优化查询操作超时控制timeout防止长事务阻塞通过注解,Spring Boot 提供了简单而强大的事务管理机制。你可以通过配置传播行为、隔离级别和回滚规则来满足不同的业务需求。在实际开发中,合理使用事务管理可以确保数据的一致性和完整性。原创 2025-03-20 11:33:52 · 915 阅读 · 0 评论 -
SpringBoot事务传播行为REQUIRES_NEW详解
是一种非常重要的事务传播机制。它用于创建一个新的事务,如果当前存在事务,则挂起当前事务。这种传播行为适用于需要独立事务执行的场景,例如日志记录、审计操作等。,可以确保关键操作(如日志记录、审计)的独立性,从而提高系统的可靠性和可维护性。如果有更多问题,欢迎宝子们留言讨论!的详细讲解,包括其工作原理、使用场景、代码示例以及注意事项。在 Spring Boot 中,事务传播行为。原创 2025-03-20 20:44:58 · 603 阅读 · 0 评论 -
Spring循环依赖与三级缓存源码解析
Spring 使用三级缓存解决循环依赖问题,确保代理对象能正确生成和注入。三级缓存通过 ObjectFactory 延迟生成代理对象,避免了两级缓存的局限性。原创 2025-03-20 09:15:00 · 522 阅读 · 0 评论 -
springboot异步查询
默认情况下,Spring 使用一个简单的线程池执行异步任务。在 Spring Boot 应用中,首先需要启用异步支持。Spring 提供了对异步任务的支持,能够轻松地将方法标记为异步执行。:异步方法中的数据库操作不会自动继承调用方的事务上下文,需要手动管理事务。在 Spring Boot 中实现异步查询可以通过 @Async。,可以轻松实现异步查询,提升接口性能。注解标记需要异步执行的方法。接口,可以看到异步查询的结果。,以便在调用方获取异步结果。:异步方法中的异常需要通过。原创 2025-03-19 10:22:19 · 277 阅读 · 0 评论 -
Spring AOP代理选择逻辑详解
使用JDK动态代理。使用CGLIB代理。原创 2025-03-20 09:45:00 · 351 阅读 · 0 评论