随笔分类 - spring
spring源码解析
摘要:1.什么是AOP 与OOP对比,AOP是处理一些横切性问题,这些横切性问题不会影响到主逻辑实现的,但是会散落到代 码的各个部分,难以维护。AOP就是把这些问题和主业务逻辑分开,达到与主业务逻辑解耦的目的。 2. AOP的应用场景 日志记录 权限验证 效率检查 事务管理 问题: Aspectj 和sp
阅读全文
摘要:情景分析 在Spring的诸多应用场景中bean都是单例形式,当一个单利bean需要和一个非单利bean组合使用或者一个非单利bean和另一个非单利bean组合使用时,我们通常都是将依赖以属性的方式放到bean中来引用,然后以@Autowired来标记需要注入的属性。但是这种方式在bean的生命周期
阅读全文
摘要:一、Spring 中观察者模式的四个角色 1. 事件(ApplicationEvent) ApplicationEvent 是所有事件对象的父类。ApplicationEvent 继承自 jdk 的 EventObject, 所有的事件都需要继承 ApplicationEvent, 并且通过 sou
阅读全文
摘要:1、 数据库事务特性 1.1 ACID特性 事务(Transaction)是数据库系统中一系列操作的一个逻辑单元,所有操作要么全部成功,要么全部失败。 事务是区分文件存储系统(关系型数据库)与Nosql数据库的重要特性之一,其存在的意义是为了保证即使在并发的情况下也能正确执行crud操作。怎样才算是
阅读全文
摘要:1.@Configuration使用 官方文档描述: 用@Configuration注释类表明其主要目的是作为bean定义的源 @Configuration类允许通过调用同一类中的其他@Bean方法来定义bean之间的依赖关系代码示例: /** * 说明:此处@Configuration 注解的作用, *
阅读全文
摘要:BeanPostProcessor 是spring容器的容器的一个扩展点,可以进行自定义的实例化、初始化、依赖装配、依赖检查等流程,即可以覆盖默认的实例化,也可以增强初始化、依赖注入、依赖检查等流程。 Spring提供了很多BeanPostProcesser的扩展接口及其实现,用于完成除实例化之外的
阅读全文
摘要:开发过程中,经常存在类似于A->B,B->A的情况;详见spring源码 DefaultSingletonBeanRegistry的 getSingleton(String beanName, boolean allowEarlyReference)方法: /** * spring循环引用的处理思路
阅读全文
摘要:基于java注解的方式配置的Appconfig中不同注解的bean的加载顺序: 注册的顺序: @ComponentScan > 实现ImportSelector > 方法bean > @ImportResource("spring.xml") > 实现 ImportBeanDefinitionReg
阅读全文
摘要:spring源码分析 1、 spring源码中组件介绍: 2、spring启动工厂创建和实例化bean的流程: 下图是spring 容器的关系 分析是基于注解的方式,非解析spring.xml的方式 说明: AnnotationConfigApplicationContext 是Applicatio
阅读全文

浙公网安备 33010602011771号