1.自定义统一异常处理器
自定义Exception实现 HandlerExceptionResolver接口或继承AbstractHandlerExceptionResolver类
1.实现接口HandlerExceptionResolver
package com.jay.platform.exception.handler;
import java.io.IOException...
分类:
编程语言 时间:
2015-06-01 14:44:16
阅读次数:
215
JDK自从1.3版本开始,就引入了动态代理,JDK的动态代理用起来非常简单,但是它有一个限制,就是使用动态代理的对象必须实现一个或多个接口 。如果想代理没有实现接口的类可以使用CGLIB包。先来看看GCLIB的具体使用,然后再对应代码深入理解。
在使用CGLIB时需引入cglib-nodep-2.1_3.jar包。
先来一个基础类,注意,这里没有对应的接口。
pub...
分类:
其他好文 时间:
2015-05-31 21:46:56
阅读次数:
115
上一篇文章《设计模式--动态代理(JDK)》已经写了JDK中动态代理的应用,这篇文章将介绍动态代理在CGLIB中应用。,从上篇文章中我们知道使用JDK动态代理是有一定限制。就是被代理类必须至少实现一个接口,因为JDK为我们生成的动态代理也是实现这个接口的。所以如果没有接口,JDK基本就歇菜了。CGLIB正好弥补了JDK的这个缺陷,他的被代理类是无需实现接口,因为它的实现机制是继承被代理类,从而创建...
分类:
其他好文 时间:
2015-05-31 21:44:33
阅读次数:
134
编写一个动物基类,动物基类的属性有跑,飞,游泳三个,让猪、鱼、鸟这三个类继承动物类,但是每个对应的只能有自己特有的属性,比如猪肯定不能飞(飞猪?肥猪)!#include "stdafx.h"
#include
using namespace std;enum ANIMAL_TYPES
{
fish,
bird,
pig,
}; //枚举template...
分类:
其他好文 时间:
2015-05-31 12:26:47
阅读次数:
130
Enum+多态,我没说错,不过Enum是不可以被继承的,也不可以继承自别人,只是能实现接口而已,何谈多态?? 不过还是先看看“现象”吧:? Java代码?? public?enum?Fruit?{??
????APPLE,?PEAR,?PEACH...
分类:
编程语言 时间:
2015-05-31 09:37:14
阅读次数:
212
接口隔离原则是什么接口隔离原则:客户端不应该依赖于它不需要的接口,而是将类间的依赖关系建立在最小的接口上。换句话说,在实际的开发中,客户端需要什么接口我们就为它提供什么接口,并把它不需要的接口剔除掉。这么一来就会有一个问题:有些接口涵盖的功能比较多,我们类在实现接口的时候可能只需要应用到接口中的某些方法,那怎么办呢?我们应该把类的接口尽可能地细化,需要什么就用什么,而不是一味地贪“多”。为什么需要依...
分类:
其他好文 时间:
2015-05-30 15:22:19
阅读次数:
98
概述接口向使用者承诺系统能提供哪些服务,同时也制定了系统必须实现哪些服务类的继承使开发人员可以处理同类的事物,但不能处理不同类却具有相同功能的事物,接口实现了这一点。接口仅描述类具有什么功能,而不给出具体实现。接口本身必须非常稳定,Java接口一旦制定,就不允许更改,否则会对外面使用者及系统本身造成...
分类:
编程语言 时间:
2015-05-30 12:00:24
阅读次数:
167
接着上篇博客的代理模式,我们继续,上篇博客介绍了JDK的动态代理,但是JDK的动态代理机制只能代理实现了接口的类,而不能实现接口的类就不能实现JDK的动态代理,这样就存在一定的局限性。对于这种情况,我们采用CGLIB来实现。
一、CGLIB动态代理
cglib是针对类来实现代理的,其实现原理:CGLIB的底层采用ASM字节码生成框架,使用字节码技术生成代理,比使用反射生成代理的效果要...
分类:
编程语言 时间:
2015-05-29 23:14:21
阅读次数:
168
JAVA动态代理初解代理模式:简单来讲就是一件事情由另外的对象去代为操作。最简单的实例,写了个接口,一个类去实现这个接口中的方法,但是突然有一天要对方法增加比如日志记录,访问权限等功能时,那么我们可以写另外一个类去实现接口中的方法,然后增加比如日志记录,访问权..
分类:
编程语言 时间:
2015-05-29 16:02:15
阅读次数:
129
我们知道JDK动态代理只能够代理实现了接口的类,而对于没有实现接口的类,jdk就显得无能为力.这种情况下,我们就选择使用cglib来为指定的目标类进行代理,它为目标类生成一个子类,然后覆盖其中的方法实现增强.
cglib如何实现代理,我们来看一段源码.
没有实现接口的类:
public class GreetingImpl {
public void s...
分类:
其他好文 时间:
2015-05-28 18:13:09
阅读次数:
172