Spring
文章平均质量分 66
日向彻永垂不朽
这个作者很懒,什么都没留下…
展开
-
Spring中常用的设计模式:代理模式
文章目录代理模式静态代理动态代理Spring AOP的代理模式代理模式本质:控制对象访问代理模式具有可扩展性:中介隔离作用。开闭原则,增加功能。静态代理静态代理是由我们自己创建或特定工具自动生成源代码,在对其编译。在程序员运行之前,代理类.class文件就已经被创建了。缺点:我们得为每一个服务都得创建代理类,工作量太大,不易管理。同时接口一旦发生改变,代理类也得相应修改。...原创 2018-11-15 20:10:44 · 244 阅读 · 0 评论 -
Spring的声明式事务底层原理
文章目录声明式事务的概述声明式事务的初探声明式事务的源码分析声明式事务的概述Spring 的声明式事务管理在底层是建立在 AOP 的基础之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。声明式事务最大的优点就是不需要通过编程的方式管理事务,这样就不需要在业务逻辑代码中掺杂事务管理的代码,只需在配置文件中做相关的事...转载 2018-11-17 19:54:16 · 8585 阅读 · 1 评论 -
AOP设计原理
文章目录AOP概述AOP的术语Spring AOPSpring AOP的工作实质AOP概述AOP(Aspect-Oriented Programming,面向切面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,...转载 2018-11-17 16:26:28 · 336 阅读 · 0 评论 -
FactoryBean与BeanFactory的区别
简介BeanFactoryBeanFactory是接口,提供了IoC容器最基本的形式,给具体的IoC容器的实现提供了规范。FactoryBeanFactoryBean也是接口,为IoC容器中Bean的实现提供了更加灵活的方式,FactoryBean在IoC容器的基础上给Bean的实现加上了一个简单工厂模式和装饰模式。区别BeanFactory与FactoryBean的作用是...原创 2018-11-17 15:56:32 · 389 阅读 · 0 评论 -
Spring IoC容器的初始化
文章目录Resource定位通过返回的resource对象,进行BeanDefinition的载入将BeanDefiniton注册到容器中关于Spirng IoC容器的初始化过程在《Spirng技术内幕:深入解析Spring架构与设计原理》一书中有明确的指出,IoC容器的初始化过程可以分为三步:Resource定位(Bean的定义文件定位)将Resource定位好的资源载入到BeanDef...转载 2018-11-17 13:23:42 · 240 阅读 · 0 评论 -
基于Spring JDBC手写ORM框架
ORM对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。基本框架结构配置文件db.propertiesBeanColumnInfo:封装表中一个字段的信息Configuration:...原创 2018-11-19 10:04:12 · 1483 阅读 · 1 评论 -
TransactionalEventListener实现事务监控
问题背景在项目中,往往需要执行数据库操作后,发送消息或事件来异步调用其他组件执行相应的操作,例如:用户注册后发送激活码;配置修改后发送更新事件等。但是,数据库的操作如果还未完成,此时异步调用的方法查询数据库发现没有数据,这就会出现问题。为了解决上述问题,Spring为我们提供了两种方式:(1) @TransactionalEventListener注解(2) 事务同步管理器Trans...转载 2018-11-19 08:58:35 · 23287 阅读 · 3 评论 -
Spring IoC容器设计原理及高级特性
文章目录Spring IoC容器概述IoC容器系列的设计与实现:BeanFactory和ApplicationContextBeanFactoryBeanFactory容器的设计原理ApplicationContextApplicationContext容器的设计原理IoC容器的初始化过程IoC容器的依赖注入依赖注入发生的时间依赖注入的流程图依赖注入的源码分析容器其他相关特性的设计与实现Appli...转载 2018-11-16 11:58:08 · 4938 阅读 · 2 评论 -
Spring事务处理机制
文章目录事务Spring事务管理Spring事务管理器Spring事务属性事务的传播行为事务的隔离级别只读事务超时回滚规则Spring事务状态编程式事务编程式和声明式事务的区别声明式事务事务事务:处于同一个事务中的操作是一个工作单元,要么全部执行成功,要么全部执行失败。在企业级应用程序开发中,事务管理必不可少的技术,用来确保数据的完整性和一致性。事务有四个特性:ACID原子性(Atom...转载 2018-11-18 22:02:31 · 896 阅读 · 0 评论 -
Spring中常用的设计模式:模板模式
文章目录定义实例分析定义在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。实例分析Spring中 Callback模式和Template模式合用随处可见。下面以常用的HibernateTemplate为例进行简要简述。由于java的JDBC的开...转载 2018-11-15 23:12:45 · 880 阅读 · 0 评论 -
Spring中常用的设计模式:原型模式
文章目录定义模式分析模式优缺点分析原型模式的实际应用案例定义原型模式:使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象。模式分析在原型模式结构中定义了一个抽象原型类,所有的Java类都继承自java.lang.Object,而Object类提供一个clone()方法,可以将一个Java对象复制一份。因此在Java中可以直接使用Object提供的clone()方法来实现对...转载 2018-11-15 22:58:26 · 4206 阅读 · 0 评论 -
Spring中常用的设计模式:策略模式
在阎宏博士的《JAVA与模式》一书中开头是这样描述策略(Strategy)模式的: 策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。Spring 中在实例化对象的时候用到策略模式, 在SimpleInstantiationStrategy 有使用。采用实现部...转载 2018-11-15 22:23:45 · 1377 阅读 · 0 评论 -
Spring中常用的设计模式:委派模式
Spring MVC框架中的DispatcherServlet其实就用了委派模式,也有人称为是代理模式和策略模式的组合。代理模式使用代理对象来执行目标对象的方法并在代理对象中增强目标对象方法。策略模式策略模式是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。代理模式注重的是过程,委派者注重的是结...原创 2018-11-15 22:11:16 · 1679 阅读 · 0 评论 -
Spring中常用的设计模式:单例模式
在Spring中,Bean可以被定义为两种模式:prototype(原型)和singleton(单例)。singleton(单例)只有一个共享的实例存在,所有对这个Bean的请求都会返回这个唯一的实例。prototype(原型)对这个Bean的每次请求都会创建一个新的bean实例,类似于new。Spring依赖注入Bean实例默认是单例的。Spring的依赖注入(包括lazy-in...转载 2018-11-15 21:32:28 · 437 阅读 · 0 评论 -
Spring中常用的设计模式:工厂模式
文章目录工厂模式实例1. 先实现简单工厂2. 工厂类(修改)3. 增加配置文件4. 测试类5. 总结工厂模式Beanfactory是一个类工厂,但和传统的类工厂不同。传统的类工厂仅负责构造一个或几个类的实例;而BeanFactory是类的通用工厂,不仅提供了创建Bean的功能,还提供了Bean实例缓存、生命周期管理、Bean实例代理等服务,最重要的是还管理着Bean和Bean之间的依赖关系。在...转载 2018-11-15 21:21:58 · 1061 阅读 · 1 评论 -
Spring IoC容器源码分析
这篇文章是阅读《SpringIoC容器源码分析》后的个人笔记。Spring 是渐进式的工具,并不具有很强的侵入性,它的模块也划分得很合理,即使你的应用不是 web 应用,或者之前完全没有使用到 Spring,而你就想用 Spring 的依赖注入这个功能,其实完全是可以的,它的引入不会对其他的组件产生冲突。启动过程分析ClassPathXmlApplicationContext 的构造方法中的...原创 2018-11-28 11:01:57 · 367 阅读 · 0 评论