`
wuneng94zui
  • 浏览: 35182 次
  • 性别: 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
分享到:
评论

相关推荐

    MyBatis拦截器:给参数对象属性赋值的实例

    在这个特定的实例中,我们讨论的是一个用于给参数对象属性赋值的拦截器。这个拦截器的主要目标是在执行增删改操作时,自动为数据模型对象的特定属性(如创建人、创建时间、修改人、修改时间等)赋值。 在MyBatis中...

    mybatis 分页拦截器及拦截器配置

    4. **使用分页**:在Service层或者DAO层,通过PageHelper的startPage()方法开启分页,传入当前页数和每页大小,然后正常调用Mapper的查询方法即可。PageHelper会返回一个Page对象,包含了查询结果和分页信息。 ```...

    mybatis interceptor

    1. **创建拦截器类**:首先,创建一个新的 Java 类并实现 `Interceptor` 接口。在这个类中,我们需要重写 `intercept` 方法。在这个方法内,我们可以通过 `Invocation` 对象获取到当前执行的 SQL 语句、参数等信息。...

    Struts2学习案例(拦截器)

    在案例的文件名"struts2Study"中,我们可以推测这可能是一个包含了整个Struts2应用的源码结构,包括Struts2的配置文件(struts.xml)、Action类、DAO层的实现以及可能的JPA实体类和数据库配置等。这些文件将帮助我们...

    struts2 spring ibatis整合以及拦截器日志记录

    本话题主要探讨如何将这三个框架整合在一起,实现一个高效、灵活的Web应用程序,并利用拦截器(Interceptor)进行用户登录验证和日志记录。 首先,Struts2作为MVC框架的核心,负责处理HTTP请求并分发到相应的Action...

    ssm_拦截器demo

    SSM(Spring、SpringMVC、MyBatis)是一个经典的Java web开发框架组合,它将Spring的核心容器、Spring的Web MVC模块以及MyBatis持久层框架整合在一起,为开发者提供了强大的服务。在这个"ssm_拦截器demo"中,我们...

    拦截器和控制器的区别

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

    MyBatis拦截器分页

    拦截器链是由多个拦截器组成,当执行一个SQL时,每个拦截器的`intercept`方法都会按顺序调用,这样就可以在不修改原有代码的情况下,对SQL执行过程进行扩展。 分页是Web应用中常见的需求,它可以有效地减少数据库...

    Struts2拦截器实例.docx

    本文档将详细介绍如何在Struts2框架中创建一个登录验证拦截器,以确保除了登录请求外,所有其他请求都会被拦截,并检查用户的登录状态。 #### 登录校验拦截器的工作原理 登录校验拦截器的主要作用是检查用户是否...

    mybatis分页拦截器(自动封装版)剖析.pdf

    分页拦截器的核心思想是减少业务代码的侵入性,避免在每个需要分页的Service或DAO层都需要手动处理分页参数。它通过拦截Mapper接口的方法调用,分析方法签名和传入参数,从中获取分页信息,然后动态构造出分页SQL,...

    登陆注册源代码 java

    5. **DAO(Data Access Object)层**:用于与数据库进行交互,如UserService.java和UserDaoImpl.java,它们实现了用户的创建、查询和验证等功能。 6. **拦截器(Interceptor)**:Struts2中的拦截器可以实现一些...

    Java源代码生成器代码框架:SpringMVCmybatisVelocity

    2. **MyBatis**:MyBatis是一个优秀的持久层框架,它简化了Java与数据库之间的交互。它允许开发者编写SQL语句,将SQL语句映射到Java方法上,从而实现动态SQL和灵活的数据访问。MyBatis通过XML或注解配置,可以很好地...

    S2SH整合例子 注解配置 JSON 泛型Dao

    1. **Struts2**:Struts2是一个基于MVC设计模式的Web应用框架,它继承了Struts1的优点,并引入了更多现代框架的特性,如拦截器(Interceptor)机制,增强了Action类的功能。在S2SH整合中,Struts2主要负责请求分发和...

    struts2.0拦截器、crud例子与用法

    Struts2.0是一个流行的Java Web开发框架,它基于MVC(Model-View-Controller)设计模式,主要用于构建动态网站。本文将详细解析Struts2中的拦截器(Interceptor)、CRUD操作以及Action的执行流程。 首先,让我们...

    Java 项目框架源码

    本项目源码主要基于SpringMVC框架,这是一个强大的、灵活的Java Web开发框架,由Spring社区维护,广泛应用于企业级应用开发。 SpringMVC是Spring框架的一部分,它提供了一个用于构建Web应用程序的模型-视图-控制器...

    JAVA 统计网站的访问量PV,UV

    2. UV(独立访客数):指在一定时间内访问网站的不同访客数量,同一个访客在统计周期内多次访问只计算一次。 在Java+Spring+Mysql+C3P0的环境中,我们可以按照以下步骤实现这个功能: 1. **C3P0连接池**:C3P0是一...

    struts2拦截器实例

    在Struts2中,拦截器是基于Java的动态代理模式实现的,它可以看作是一个插件,用来在Action调用前后执行一些额外的逻辑,如日志记录、事务管理、权限验证等。通过配置,可以灵活地组合和堆叠多个拦截器,形成一个...

    java的ssh框架的完整项目

    SSH(Struts2 + Spring + Hibernate)框架是Java Web开发中的一个经典组合,它整合了三个强大的开源框架,用于构建高效、可维护的企业级应用程序。本项目是一个完整的SSH框架实现,虽然规模不大,但涵盖了SSH框架的...

    mvc.zip_java MVC 简单_mvc

    综上所述,这个压缩包提供了一个基础的Java MVC登录系统的实现,展示了如何利用DAO层和MVC模式来构建一个简单的Web应用。开发者可以以此为起点,学习和理解MVC模式的工作原理,以及如何在实际项目中应用。

    Struts2+DAO+ExtJs做的一个简单登录程序

    Struts2是一个基于MVC(Model-View-Controller)设计模式的开源Java Web框架,它使得开发者能够更方便地构建动态、数据驱动的Web应用程序。DAO(Data Access Object)模式是一种设计模式,用于封装对数据库的操作,...

Global site tag (gtag.js) - Google Analytics