`
wuneng94zui
  • 浏览: 34303 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java写的一个拦截dao层时间的interceptor

    博客分类:
  • java
阅读更多
1.创建一个文件TimeInterceptor.java代码如下
package com.questionnaire.common.filter;

import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class TimeInterceptor implements MethodInterceptor {

private static final Log log = LogFactory.getLog(TimeInterceptor.class);
private int error;

public TimeInterceptor() {
this.error = 50;
}

@Override
public Object invoke(MethodInvocation methodInvocation) throws Throwable {
long procTime = System.currentTimeMillis();
try {
return methodInvocation.proceed();
} finally {
procTime = System.currentTimeMillis() - procTime;
String msg = "Process method "
+ methodInvocation.getMethod().getName()
+ " successful! Total time: " + procTime + " milliseconds!";
if (procTime > this.error) {
if (log.isErrorEnabled())
log.error(msg);
}
}
}

public void setError(int error) {
this.error = error;
}

}
2.在spring配置文件中添加如下
    <bean id="timeInterceptor" class="com.questionnaire.common.filter.TimeInterceptor">
    <property name="error" value="150" />
    </bean>
<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
        <property name="beanNames">
            <value>*DAO</value>
        </property>
        <property name="interceptorNames">
            <list>
                <value>timeInterceptor</value>
            </list>
        </property>
    </bean>
1
0
分享到:
评论

相关推荐

    拦截器和控制器的区别

    3、拦截器在方法前后,异常前后等调用,而过滤器只能在请求前和请求后各调一次。 4、拦截器可以利用依赖注入,因此在spring框架程序中,优先拦截器 5、拦截器是包裹在过滤器中使用的。 复习 converter 转换器 ...

    基于Springboot的城市内涝智慧检测系统源码+数据库+项目说明.zip

    6.interceptor 拦截器,将未登录的用户拦截至主页 7.service 服务层,将业务层操作与持久层操作绑定 8.test 单元测试 9.util 工具类,包括百度地图经纬度搜索,Json转String,md5加密,Python图片识别,mybatis...

    java后台框架源码

    interceptor:权限拦截包 listener:目前只有session的监听器,用于监听session的 service:具体的业务处理包 util:项目工具包 vo:存放业务结果数据的,响应页面的json对象就存放在里面ResultData类里面 conf文件...

    北大青鸟学士后第三单元OA办公自动化管理系统

    (4)com.chen.web.interceptor.AuthorizationInterceptor.java 限制上传大小的拦截器 (5) src下的applicationContext.xml 和 hibernate.cfg.xml 是hibernate配置信息和Spring的配置分开配置再通过classpath 导入给...

    深入浅出Struts2(附源码)

    18.2 编写一个自定义的拦截器 268 18.3 使用DataSourceInjectorInterceptor拦截器 269 18.4 小结 273 第19章定制结果类型 274 19.1 概述 274 19.2 编写一个自定义的结果类型 274 19.3 使用新的结果类型 277 ...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    这是因为某个servlet(服务器端Java程序)在应用户的请求而首次调入内存执行之后将一直驻留在内存里,对同一个servlet的后续请求不用再对这个servlet的类进行实例化,因此响应速度更快。 可是,servlet也存在一个...

    阿里云javasdk源码-toutiao:Springboot搭建的资讯网站

    阿里云java sdk源码 toutiao 使用Spring boot编写的咨询网站 采用MVC模式,并实现前后...DAO层 │ │ │ ├── interceptor // 网站拦截器实现 │ │ │ ├── model // 各数据模型 │ │ │ ├── service //

    房屋中介的系统

    (2)业务方面:建了vo,util工具,dao各种方法,service,action,interceptor拦截器,这些层。 (3)配置方面:struts.xml reg-validator hbm.xml log4j.properties web.xml (4)web方面:css样式,前台的注册和登录...

    SeimiCrawler文档离线版

    •SeimiCrawler一个敏捷强大的Java爬虫框架 •1.简介 •2.需要 •3.快速开始 ◦3.1.maven依赖 ◦3.2.在SpringBoot中 ◦3.3.常规用法 •4.原理 ◦4.1.基本原理 ◦4.2.集群原理 •5.如何开发 ◦5.1.约定 ◦...

    springmybatis

    请注意,这里面有一个方法名 selectUserByID 必须与 User.xml 里面配置的 select 的id 对应() 重写测试代码 程序代码 程序代码 public static void main(String[] args) { SqlSession session = ...

    Java学习笔记-个人整理的

    {13.7}DAO}{199}{section.13.7} {13.8}java.util.Date与java.sql.Date比较}{200}{section.13.8} {13.9}Meta Data}{201}{section.13.9} {13.10}可滚动结果集}{201}{section.13.10} {13.11}Procedure}{201}{...

    tealot_server

    技术栈说明基于SpringBoot结合以下技术栈研发权限框架:Shiro持久层:MyBatis视图层:无日志:Logback单元测试:未集成插件:Swagger、Lombok包名说明api: 存放APIservice:存放业务类dao:存放持久层类core:存放...

Global site tag (gtag.js) - Google Analytics