上一页 1 2 3 4 5 6 7 8 9 ··· 14 下一页

2019年1月10日

Spring连接数据库的实现

摘要: 数据库连接JDBC JDBC(Java Data Base Connectivity,Java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接 阅读全文

posted @ 2019-01-10 11:29 AoTuDeMan 阅读(7030) 评论(0) 推荐(0) 编辑

2019年1月9日

创建AOP静态代理(下篇)

摘要: 织入 当我们完成了所有的AspectJ的准备工作后便可以进行织入分析了,首先还是从LoadTimeWeaverAwareProcessor开始。 LoadTimeWeaverAwareProcessor实现BeanPostProcessor方法,那么对于BeanPostProcessor接口来讲,p 阅读全文

posted @ 2019-01-09 15:07 AoTuDeMan 阅读(671) 评论(0) 推荐(1) 编辑

创建AOP静态代理(上篇)

摘要: 前言 AOP的静态代理主要是在虚拟机启动时通过改变目标对象字节码的方式来完成对目标对象的增强,它与动态代理相比具有更高的效率,因为在动态代理调用的过程中,还需要一个动态创建代理类并代理目标对象的步骤,而静态代理则是在启动时便完成了字节码增强,当系统再次调用目标类时与调用正常的类并无差别,所以在效率上 阅读全文

posted @ 2019-01-09 10:10 AoTuDeMan 阅读(564) 评论(0) 推荐(1) 编辑

2019年1月8日

静态AOP使用示例

摘要: 加载时织入(Load-Time Weaving,LTW)指的是在虚拟机载入字节码文件时动态织入AspectJ切面。Spring框架的值添加为AspectJ LTW在动态织入的过程中提供了更细粒度的控制。使用Java(5+)的代理能使用一个叫“Vanilla”的AspectJ LTW,这需要在启动JV 阅读全文

posted @ 2019-01-08 16:37 AoTuDeMan 阅读(799) 评论(0) 推荐(0) 编辑

创建AOP代理(下篇)

摘要: 接着上篇文章就绪讲述创建AOP代理的CGLIB代理。 CGLIB的使用示例 CGLIB是一个强大的高性能的代码生成包。它广泛的被许多AOP的框架使用,例如SpringAOP和dynaop,为它们提供方法的拦截(Interception)。最流行的OR Mapping工具 Hibernate也使用CG 阅读全文

posted @ 2019-01-08 14:32 AoTuDeMan 阅读(247) 评论(0) 推荐(0) 编辑

创建AOP代理(中篇)

摘要: 创建代理 在获取了所有对应bean的增强器后,便可以进行代理的创建了。 对于代理类的创建及处理,Spring委托给了ProxyFactory去处理,而在上述函数中主要是对ProxyFactory的初始化操作,进而对真正的创建代理做准备,这些初始化操作包括如下内容: (1)获取当前类中的属性; (2) 阅读全文

posted @ 2019-01-08 10:31 AoTuDeMan 阅读(289) 评论(0) 推荐(0) 编辑

2019年1月7日

创建AOP代理(上篇)

摘要: 前言 上一篇文章动态AOP自定义标签讲解了自定义配置完成了对AnnotationAwareAspectJAutoProxyCreator类型的自动注册,那么这个类型到底做了什么工作来完成AOP的操作呢?来看一下AnnotationAwareAspectJAutoProxyCreator类UML图: 阅读全文

posted @ 2019-01-07 15:49 AoTuDeMan 阅读(315) 评论(0) 推荐(0) 编辑

2019年1月6日

动态AOP自定义标签

摘要: 前言 之前的文章讲述过自定义注解,如果声明了自定义的注解,那么就一定会在程序的某个地方注册了对应的解析器。我们发现在AopNamespaceHandler中的init函数: 从上述的代码中可以看出,在解析配置文件的时候,一旦遇到aspectj-autoproxy注解时就会使用解析器AspectJAu 阅读全文

posted @ 2019-01-06 20:23 AoTuDeMan 阅读(367) 评论(0) 推荐(0) 编辑

动态AOP使用示例

摘要: 前言 我们知道,使用面向对象编程(OOP)有一些弊端,当需要为多个不具有继承关系的对象引入一个公共的行为时,例如日志、安全检查等,我们只有在每个对象里引用公共的行为,这样程序中就产生了大量的重复代码,程序就不便于维护了,所以就有了一个面向对象编程的补充,即面向切面编程(AOP),AOP所关注的方向是 阅读全文

posted @ 2019-01-06 16:12 AoTuDeMan 阅读(283) 评论(0) 推荐(0) 编辑

2019年1月4日

初始化非延迟加载单例和finishRefresh

摘要: 初始化非延迟加载单例 完成BeanFactory的初始化工作,其中包括ConversionService的设置、配置冻结以及非延迟加载的bean的初始化工作。 首先我们来了解一下ConversionService类提供的作用。 1.ConversionService的设置 之前我们提到过使用自定义类 阅读全文

posted @ 2019-01-04 16:53 AoTuDeMan 阅读(304) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 9 ··· 14 下一页

导航