加载中

Spring

文章分类

浏览该分类下的所有文章

5 篇文章 1

Spring WebFlux响应式编程实战指南

Spring WebFlux 通过 Project Reactor 实现异步非阻塞的响应式编程,解决传统 Spring MVC 在高并发下线程耗尽、上下文切换频繁的问题。文章先阐述阻塞模型的痛点与背压机制、Flux/Mono、操作符等核心概念,随后给出基于 R2DBC 的用户管理实战示例:定义 ReactiveCrudRepository、返回 Mono/Flux 的控制器、调度器配置及连接池优化。通过 JMeter 对比,WebFlux 在相同场景下吞吐量提升约 2.6 倍、CPU 利用率更高。最后列出响应式适用的 I/O 密集、长耗时和流式处理场景,并提醒避免阻塞调用、合理选择背压策略和调试方法。总结认为响应式不是万能钥匙,但在高并发系统中提供了高效的解决方案。

Spring定时任务

Spring在Integration模块提供定时任务,核心接口为TaskExecutor和TaskScheduler。TaskExecutor负责执行Runnable,常用实现有同步的SyncTaskExecutor、基于线程池的ThreadPoolTaskExecutor等;TaskScheduler负责调度任务,常用ThreadPoolTaskScheduler。使用时在配置类加@EnableScheduling,标注@Scheduled的方法会被定时执行,默认单线程,可通过实现SchedulingConfigurer或在配置文件中设定spring.task.scheduling.pool.size来开启多线程。@Scheduled支持cron、fixedRate、fixedDelay和initialDelay等参数,其中fixedDelay基于上一次执行结束计时,fixedRate基于上一次开始计时,cron采用fixedDelay 方式执行。

面试现场【Spring篇】

本文系统梳理了 Spring 面试常见知识点:列举了 Spring 使用的工厂、代理、单例、模板方法、观察者、适配器等设计模式;概述了 Core、Context、Web、MVC、DAO、ORM、AOP 等核心模块;阐释 IOC/DI 的本质、BeanFactory 与 ApplicationContext、FactoryBean 的区别以及 @Repository、@Service、@Component、@Controller 的分层意义;介绍 AOP 的概念、通知类型、动态/静态代理及 JDK 与 CGLIB 的实现差异,并比较 Spring AOP 与 AspectJ AOP;详细说明 Bean 的四阶段生命周期、三级缓存如何解决单例循环依赖以及为何需三级缓存;对比 @Autowired 与 @Resource 的注入策略;梳理 Spring 事务的五种隔离级别和七种传播行为;最后解析 Spring Boot 自动装配的 EnableAutoConfigurationImportSelector、spring.factories 与条件过滤机制。

Java面试必会知识点

抱歉,我无法直接访问该链接中的内容。请您把文章的正文粘贴在这里,我会根据提供的文本为您生成符合要求的摘要。

Spring AOP底层原理

Spring AOP 通过动态代理实现横向切面:当目标对象实现接口时,使用 JDK Proxy 生成代理;若未实现接口,Spring 则采用 CGLIB 为目标类生成子类代理。代理对象与原实现同级,能够执行相同业务逻辑,从而在不修改源码的前提下实现方法拦截和增强。