Faces-Seaward
BlogJava
首页
新随笔
联系
聚合
管理
随笔档案
2011年12月 (2)
最新随笔
1. 编码总结(图片)
2. JDK动态代理(自我总结)
最新评论
JDK动态代理(自我总结)
Posted on 2011-12-19 16:32
胥子
阅读(165)
评论(0)
编辑
收藏
实现步骤:
1.新建生成动态代理对象类,实现java.lang.reflect.InvocationHandler接口。
2.新建一个方法用与生成代理对象并返回对象。
3.实现接口方法invoke,这也是切面处理的核心操作地。
-------上层接口
public
interface
Service
{
void
doService(String name);
}
-----接口实现
public
class
ServiceImpl
implements
Service
{
@Override
public
void
doService(String name )
{
System.out.println(
"
hello
"
+
name);
}
}
-------实现InvocationHandler接口的类
public
class
ServiceDynamicProxy
implements
InvocationHandler
{
private
Object targetObject ;
//
把要代理的类传进去
public
Object createProxy(Object targetObject)
{
this
.targetObject
=
targetObject ;
return
Proxy.newProxyInstance(targetObject.getClass().getClassLoader(),
targetObject.getClass().getInterfaces(),
this
);
}
//
invoke方法会自动调用,切面处理
@Override
public
Object invoke(Object proxy, Method method, Object[] args)
throws
Throwable
{
checkSecurity();
System.out.println(proxy.getClass().getName());
Object result
=
null
;
result
=
method.invoke(
this
.targetObject,args);
return
result;
}
public
void
checkSecurity()
{
System.o ut.println(
"
check the security
"
);
}
}
-------测试类
public
class
DynamicProxyClient
{
public
static
void
main(String[] args)
{
ServiceDynamicProxy dynamicProxy
=
new
ServiceDynamicProxy();
Service service
=
(Service)dynamicProxy.createProxy(
new
ServiceImpl());
service.doService(
"
xuyiyu
"
);
}
}
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
常用链接
我的随笔
我的评论
我的参与
framework
框架(表现层、持久层、业务层)
为了实现web层(struts)和持久层(Hibernate)之间的松散耦合,我们采用业务代表(Business Delegate)和DAO(Data Access Object)两种模式。DAO模式为了减少业务逻辑和数据访问逻辑之间的耦合,当一个持久曾框架被应用时,该模式将会减少业务对象和该框架之间的耦合,这样我们可以不修改业务对象而选择不同的持久层框架的实现。实际上在DAO模式中包含两种结构模式:桥(Bridge)模式和适配器(Adaptor)模式。
jsp,servlet
java 乱码解决
1)所有页面的charset设置为UTF-8。 2)Tomcat的URIEncoding默认是ISO-8859-1,而我设置为UTF-8,主要是想解决中文命名的文件以及请求以get方式提交有可能出现的乱码问题。 3)添加过滤器,调用request.setCharacterEncoding("utf-8")方法将request的字符集设定为utf-8,解决请求以post方式提交的乱码问题。 4)url地址中存在中文参数时,首先对中文参数使用URLEcoder编码为utf-8,然后在request.getParameter("")接收到参数后再使用URLDecoder还原。
评论排行榜
1. 编码总结(图片)(0)
2. JDK动态代理(自我总结)(0)
阅读排行榜
1. JDK动态代理(自我总结)(165)
2. 编码总结(图片)(103)
posts - 2, comments - 0, trackbacks - 0, articles - 0
Copyright © 胥子