青云博客 记录、分享

介绍下SpringAop的底层实现

Spring AOP是Spring框架的一个重要组成部分,用于实现面向切面编程。它通过在方法调用前、调用后或异常抛出时插入通知,允许开发者在核心业务逻辑之外执行横切关注点的代码。 底层实现主要分两部分:创建AOP动态代理和调用代理

詹学伟 Published on 2024-04-22

Spring多线程事务 能否保证事务的一致性

在多线程环境下,Spring事务管理默认情况下无法保证全局事务的一致性。这是因为Spring的本地事务管理是基于线程的,每个线程都有自己的独立事务。 Spring的事务管理通常将事务信息存储在ThreadLocal中,这意味着每个线程只能拥有一个事务。这确保了在单个线程内的数据库操作处于同一个事务中

詹学伟 Published on 2024-04-22

Spring事务的失效原因?

大部分失效是由于: 方法是private也会失效,解决:改成public: Spring的事务代理通常是通过Java动态代理或CGLIB动态代理生成的,这些代理要求目标方法是公开可访问的(public)。私有方法无法被代理,因此事务将无效。解决方法是将目标方法改为public或protected。

詹学伟 Published on 2024-04-22

Spring 框架中都用到了哪些设计模式?

简单工厂: BeanFactory:Spring的BeanFactory充当工厂,负责根据配置信息创建Bean实例。它是一种工厂模式的应用,根据指定的类名或ID创建B

詹学伟 Published on 2024-04-22

Spring事件监听的核心机制是什么?

Spring事件监听的核心机制围绕观察者模式展开: 观察者模式: 它允许一个对象(称为主题或被观察者)维护一组依赖于它的对象(称为观察者),并在主题状态发生变化时通知观察者。 它包含三个核心:

詹学伟 Published on 2024-04-22

SpringMVC的拦截器和过滤器有什么区别?执行顺序?

拦截器和过滤器在Web应用中都扮演着请求和响应处理的角色,但它们之间存在一些关键区别。 首先,归属不同。拦截器是SpringMVC框架的一部分

詹学伟 Published on 2024-04-22

@Transactional(readOnly=true) 真的是提高性能的灵丹妙药吗?

今天,我想谈谈 Spring 提供的@Transactional(readOnly = true)。 很多同学都说@Transactional(readOnly = true)提高了性能。那我们不得不思考:

詹学伟 Published on 2024-04-22

Spring和SpringMVC为什么需要父子容器?

首先,它们帮助划分功能边界,使得大型应用程序更易于管理。通过将不同模块或层次的组件分别放置在父子容器中,我们能够清晰地定义每个容器的职责,从而提高了代码的可维护性和可扩展性。 其次,父子容器在规范整体架构方面起到了关键作用。例如,我们可以将业务逻辑层(Service)和数据访问层(DAO)交给Spr

詹学伟 Published on 2024-04-22

AutoWired 与 Resource 区别

这两个我们在项目中经常能看到,只知道是进行自动注入的,本文就以最简单的方式给大家总结下两者有什么区别,主要是从以下四个维度: 来源不同; 依赖查找的顺序不同; 支持的参数不同; 依赖注入的用法支持不同; 来源不同

詹学伟 Published on 2024-04-22

Spring有哪些缺点

当然,Spring作为一个广泛使用的Java开发框架,也有一些缺点。以下是一些常见的Spring框架的缺点: 学习曲线较陡峭:Spring框架是一个功能强大且灵活的框架,但也因此学习曲线较陡峭。对于初学者来说,可能需要花费一些时间来理解和掌握Spring的核心概念和特性。 配置复杂:Spring框架

詹学伟 Published on 2024-04-22
Previous Next