- 博客(22)
- 收藏
- 关注
原创 @Before 和 @Around 在 Spring AOP 中的核心区别
特性@Before@Around执行时机方法执行前方法执行前后控制目标方法无法控制可控制(通过proceed()修改返回值不支持支持参数类型JoinPoint异常处理无法捕获目标方法异常可捕获并处理异常适用场景简单前置操作需要控制流程或修改结果的复杂逻辑若只需在方法执行前插入逻辑,使用@Before。若需要控制方法执行、修改参数/返回值或处理异常,使用@Around。
2025-03-11 11:09:02
490
原创 Spring Boot 整合 Redis
根据业务需求选择合适的 Redis 客户端(Lettuce/Jedis)和序列化方式,确保高性能与兼容性。的指南,涵盖配置、基本操作、高级用法及常见问题解决。
2025-03-10 14:30:08
759
原创 Spring Cloud Alibaba+Nacos入门与测试
包含服务注册、配置管理、服务调用及完整的测试用例(单元测试和集成测试),涵盖代码和测试步骤。通过以上步骤,你已实现一个完整的微服务示例,并覆盖了核心功能的测试场景。
2025-03-06 06:30:18
1050
原创 Spring IoC 实现原理
理解这些原理有助于高效使用 Spring 的高级特性(如事务、AOP)及排查问题(如循环依赖、Bean 注入失败)。(DI),通过容器管理对象的创建、依赖关系和生命周期,实现解耦和可维护性。,实现了对象控制权的反转。Spring IoC 的核心是。Spring IoC 通过。
2025-03-06 02:50:55
1019
原创 Spring事务失效的常见原因
动态代理机制导致的内部调用问题。异常处理不当。事务传播行为配置错误。数据库引擎不支持事务。事务管理器未正确配置。方法访问修饰符不符合要求。多线程环境下的事务上下文丢失。超时或只读配置错误。
2025-03-01 06:04:48
637
原创 BeanFactory与ApplicationContext区别
在Spring框架中, 和 是两个核心的IoC(控制反转)容器接口,它们都用于管理Spring中的Bean对象。尽管它们的功能有重叠,但在功能范围和使用场景上存在显著差异。以下是它们的主要区别:BeanFactory:ApplicationContext:BeanFactory:ApplicationContext:
2025-03-01 02:08:29
254
原创 Spring事务控制的核心原理
注解标记时,Spring 会为目标对象生成代理(Proxy)。将事务资源(如数据库连接)绑定到当前线程()协调事务的生命周期,利用线程绑定(Spring 事务控制的核心是。Spring 事务控制基于。
2025-02-28 03:41:36
470
原创 Spring Boot应用中解决跨域问题
通过上述方法,可高效、灵活地解决跨域问题,同时兼顾安全性与维护性。:单个接口或Controller需要跨域支持。:应用中已集成Spring Security。:通过代理服务器统一域名,避免跨域。:需要动态配置或更细粒度的控制。:统一管理所有接口的跨域规则。
2025-02-28 03:30:08
369
原创 SpringMVC拦截器(Interceptor)与Servlet过滤器(Filter)区别
特性拦截器(Interceptor)过滤器(Filter)所属框架Spring MVCServlet触发时机Spring MVC请求处理过程中请求到达Servlet之前拦截范围仅Spring MVC请求所有HTTP请求配置方式Spring配置类或XMLweb.xml或@WebFilter依赖注入支持默认不支持,需手动处理典型场景权限校验、日志记录字符编码、跨域、安全防护根据具体需求选择合适的工具:如果需要处理Spring MVC的业务逻辑,优先使用拦截器;
2025-02-28 03:15:33
650
原创 springMVC拦截器原理
的请求处理流程实现的。拦截器通过拦截器链在请求处理的不同阶段插入自定义逻辑,具有灵活、可扩展的特点。合理使用拦截器可以有效提升代码的复用性和可维护性,同时需要注意拦截器的作用范围仅限于 Spring MVC 的请求,如果需要处理更底层的请求(如静态资源),则需要结合过滤器一起使用。Spring MVC 拦截器的原理是基于 Spring MVC 的请求处理流程实现的,它通过拦截器链(Interceptor Chain)在目标控制器方法执行的不同阶段插入自定义逻辑。接口,用于定义拦截器的行为。
2025-02-26 04:35:21
602
原创 springboot自动配置原理
理解自动配置的原理对于掌握 Spring Boot 的工作机制至关重要,同时也是解决实际问题的关键所在。文件和条件注解实现了高度灵活的自动化配置。文件的引入不仅优化了性能,还增强了模块化设计。它会触发自动配置的加载过程。Spring Boot 的自动配置通过。是自动配置的入口注解,通常与。自动配置类通常使用条件注解(如。等)来动态决定是否生效。上述配置会在类路径中存在。
2025-02-24 16:10:25
1010
原创 spring如何使用三级缓存解决循环引用
一级缓存(singletonObjects):存放已经完全初始化完成的 Bean,确保每次获取的都是一个完整的、可用的 Bean。二级缓存(earlySingletonObjects):存放提前暴露的、尚未完全初始化的 Bean 实例(早期引用)。当某个 Bean 还未完全初始化,但已经被其他 Bean 所依赖时,Spring 会将它的“早期引用”放入二级缓存中,供其他 Bean 使用。三级缓存(singletonFactories):存放 Bean 的工厂对象,用于创建早期引用。
2025-02-24 15:49:47
1025
原创 完整的 Spring Boot 生命周期
运行阶段是 Spring Boot 应用启动完成后进入的主要工作阶段,主要处理用户请求和执行业务逻辑。通过以上顺序,你可以清晰地看到 Spring Boot 生命周期中每个阶段的关键操作和执行时机。启动阶段是 Spring Boot 应用从代码加载到容器初始化完成的过程,包含了多个关键步骤。关闭阶段是 Spring Boot 应用优雅地停止运行的过程,确保资源被正确释放。
2025-02-24 09:37:29
973
原创 完整的自定义 Spring Boot Starter 的实例
下面是一个完整的自定义 Spring Boot Starter 的实例,包含从创建 Starter 模块到在应用中使用它的全过程。通过以上步骤,我们完成了一个自定义 Spring Boot Starter 的开发和使用。通过这种方式,开发者可以轻松创建自己的 Starter,为团队或社区提供可复用的功能模块。创建一个新的 Spring Boot 项目,并引入自定义 Starter。我们将创建一个简单的 Starter,用于自动配置一个。定义一个配置类,用于读取配置文件中的属性。文件中注册自动配置类。
2025-02-24 04:52:03
905
原创 完整的 Spring AOP 实例
通过此示例,可以快速掌握 Spring AOP 的核心用法,并灵活应用于日志、监控、事务等横切关注点场景。以下是一个完整的 Spring AOP 实例,包含。
2025-02-24 04:38:00
225
原创 springboot的启动流程
Spring Boot 的启动流程是面试中常见的问题之一,理解其启动过程有助于深入掌握 Spring Boot 的工作原理。方法,完成环境准备、上下文创建、Bean 加载和刷新等操作。最后启动内嵌 Web 容器,并发布启动完成事件。在整个过程中,可以通过。希望以上内容能够帮助你更好地理解和回答 Spring Boot 启动流程相关的面试题!实例,推断应用类型并加载初始化器和监听器。Spring Boot 应用程序的启动从。Spring Boot 的启动流程从。方法时,首先会创建一个。等扩展点定制启动行为。
2025-02-24 03:40:51
652
原创 springMVC常见问题
Spring MVC 是 Java 开发中非常重要的一个框架,它是 Spring 框架的一部分,用于构建基于 MVC(Model-View-Controller)设计模式的 Web 应用程序。Spring MVC 是 Spring 框架中的一个模块,用于构建基于 MVC 设计模式的 Web 应用程序。它通过将应用程序分为模型(Model)、视图(View)和控制器(Controller)三个部分,实现职责分离,便于开发和维护。是 Spring MVC 中用于映射 HTTP 请求到具体方法的注解。
2025-02-24 03:35:49
1029
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人