- 浏览: 1340693 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (453)
- Struts2 (4)
- Struts1 (16)
- Spring (9)
- Hibernate (5)
- AJAX (16)
- MS Server (9)
- Oracle (35)
- 测试技术 (5)
- 其他 (37)
- JSF (1)
- EJB (5)
- ASP.NET (9)
- iBATIS (5)
- Struts Spring Hibernate (2)
- HTML (12)
- Eclipse使用 (5)
- 设计模式 (5)
- JSP (32)
- 正则表达式 (2)
- 服务器 (12)
- Java基础 (48)
- MySQL (4)
- 面试 (22)
- UML (1)
- 数据结构 (3)
- Ant (2)
- 规范 (4)
- JavaScript (29)
- 软件使用及技巧 (25)
- PHP (1)
- DWR (3)
- FreeMarker (1)
- ExtJs (17)
- JFreeChart (9)
- Reports (2)
- JavaException (1)
- Java Mail (1)
- Flex (9)
- 异常 (12)
- Log4j (2)
- WebService (1)
- jQuery (1)
- Sybase (2)
- myeclipse_plugin (2)
- Linux (5)
- jbpm (2)
- SCM (1)
- mongoDB (1)
最新评论
-
lihua2008love:
<typeAlias alias="User& ...
IBATIS简单操作 -
lihua2008love:
...
关于项目框架设计的一点学习 -
c_jinglin:
我使用<OBJECT CLASSID="cls ...
这就是个静态页面通过js控制mscomm对某com设备进行访问的例子. -
zlbjava:
赞,用了还不错
java获取请求的ip地址,并解析ip所属地区 -
完美天龙:
cs842813290 写道楼主,我明白的地方:在链表已有N个 ...
JAVA实现双向链表
我们开发网站的过程中,经常会碰到这种情况,当调用某个类中函数的时候,需要记录一些东西或触发某些事件,如何来实现呢?如当缓存中的对象不是最新时,需及时更新缓存对象,当调用某些类的某些方法时,需要记录某些日志信息等,这种应用无处不在,我们如何实现他,利用Spring框架的AOP为例,记录一下他的实现方法
在applicationContext.xml 配置文件中加入类似如下配置信息
两个类的源码如下
测试代码
在我程序的任何地方调用IGroupService的listGroup时,都会自动执行commonAdvise中的代码,打印信息如下:
这种方式绝对是代码零侵入性,推荐大家使用。
在applicationContext.xml 配置文件中加入类似如下配置信息
<bean id="commonAdvise" class="cn.hj.advise.CommonAdvise"></bean> <bean id="commonProxy" class="org.springframework.aop.framework.ProxyFactoryBean"> <property name="target"> <ref bean="groupService" /> </property> <property name="proxyInterfaces"> <value>cn.hj.service.IGroupService</value> </property> <property name="interceptorNames"> <list> <value>commonAdvise</value> </list> </property> </bean>
两个类的源码如下
public class CommonAdvise implements AfterReturningAdvice{ private GroupService groupService; public GroupService getGroupService() { return groupService; } public void setGroupService(GroupService groupService) { this.groupService = groupService; } public void afterReturning(Object returnValue, Method method, Object[] target_arg, Object target) throws Throwable { System.out.println("==========================="); System.out.println("目标方法返回值:"+returnValue+",目标方法:"+method+",目标对象:"+target+"目标方法参数列表:\n"); if(target_arg!=null){ for(int i=0;i<target_arg.length;i++){ System.out.println("Object["+i+"]:"+target_arg[i]); } } System.out.println("==========================="); } }
public interface IGroupService { public void addGroup(Group group); public void delGroup(Group group); public void modGroup(Group group); public Group findGroup(String groupid); public List listGroup(); }
测试代码
在我程序的任何地方调用IGroupService的listGroup时,都会自动执行commonAdvise中的代码,打印信息如下:
=========================== 目标方法返回值:[cn.hj.model.Group@1bb205a, cn.hj.model.Group@48fbc0, cn.hj.model.Group@18837f1] 目标方法:public abstract java.util.List cn.hj.service.IGroupService.listGroup() 目标对象:cn.hj.service.GroupService@10f0a0 目标方法参数列表: ===========================
这种方式绝对是代码零侵入性,推荐大家使用。
发表评论
-
java获取请求的ip地址,并解析ip所属地区
2009-06-01 09:05 9039每次看见QQ上面能够显示对方的ip和地址让人觉得舒服。。刚刚无 ... -
jsp是上传图片加水印
2009-05-05 14:46 1500参考附件. -
JSP 中路径相关的常用解决办法
2009-04-22 15:58 1897<%@ page language="ja ... -
Jsp页面弹出输入对话框的实现收藏
2009-01-16 16:48 3952在写JSP页面的时候,有时需要点击一个按钮弹出一个输入对话框, ... -
log4j xml配置详解
2008-12-30 08:07 15532<?xml version="1.0" ... -
一个关于java.net.Socket的超时的问题
2008-12-26 10:44 4997从异常信息中,可以看到是read timed out,应该是S ... -
防止刷新带来的重复提交
2008-10-08 14:17 1503------------------------------- ... -
防止盗链
2008-09-04 22:28 1508<%=request.getHeader("R ... -
ip 验证
2008-08-31 23:38 1202if(kk_BlacklistVehicle_UserEnro ... -
用户登陆 封装
2008-08-31 23:37 1166首先要有一个封装类,我用UserInfo package d ... -
加密算法SHA-1,SHA-256,SHA-512,MD2,MD5
2008-08-31 23:33 6152自定义某种算法 package test; ... -
Java 调用 Oracle 存储过程返回结果集
2008-08-12 08:16 2560Oracle 存储过程返回结果集用 ref cursor 实现 ... -
分页技术
2008-07-19 11:33 1389在使用数据库的过程中,不可避免的需要使用到分页的功能,可是JD ... -
对分页的封装
2008-07-16 19:59 1858package com.bjsxt.oa.web; im ... -
Pagger-taglib分页
2008-07-16 17:57 1402<%@ page language="java ... -
JavaScirpt和JSP数据数据交互使用问题
2008-07-03 21:53 1473一、页面中的JavaScript的数据如何提交给后台的jsp程 ... -
用Cookie实现的购物车
2008-07-02 23:17 8284Cusorderitem.java 封装了相关的商品购买信息 ... -
Servlet中文API文档
2008-06-30 14:08 4126基本类和接口 一、javax. ... -
控制 Web 缓存
2008-06-19 21:11 1266控制 Web 缓存 假设两个并发用户(用户 A 和用户 ... -
JSP tag 学习
2008-05-19 20:16 2723在JSP2.0 中,对于自定义的标签有两种实现方法,实现接口或 ...
相关推荐
Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择 Java语言开发的简洁实用的日期选择控件,源码文件功能说明: [DateChooser.java] Java 日期选择控件(主体类) [public] ...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. ...
1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. ...
1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. ...
1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. ...
1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. ...
1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. ...
1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. ...
1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. ...
1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. ...
1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. ...
1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. ...
1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. ...
1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. ...