--监控com.zte..hibernate3impl.*Impl 这个包下面的所有文件的所有方法,配置了一个事物
<aop:advisor pointcut="execution(* com.zte..hibernate3impl.*Impl.*(..))" advice-ref="txAdvice" />
<bean id="dbCallMonitor" class="com.zte.frame.web.servlet.DbCallMonitor" />
<aop:config>
<aop:pointcut id="around"
expression="execution(* com.zte..hibernate3impl.*Impl.*(..))" />
<aop:aspect ref="dbCallMonitor">
<aop:around method="around" pointcut-ref="around" /> --这个around是对上面的around的引用
</aop:aspect>
</aop:config>
<property name="proxyTargetClass" value="false" />
public class DbCallMonitor {
protected final Logger log = Logger.getLogger(DbCallMonitor.class);
public Object around(ProceedingJoinPoint pjp) throws Throwable {
synchronized (this) {
Class<?> targetClass = pjp.getTarget().getClass();
MethodSignature sign = (MethodSignature) pjp.getSignature();
String method = sign.getMethod().getName();
String clazz = targetClass.getName();
StopWatch stopWatch = new Log4JStopWatch(clazz + "."
+ method);
// 构建数据入库
Object obj = null;
try {
long begin = System.currentTimeMillis();
obj = pjp.proceed();
long end = System.currentTimeMillis();
// 构建数据
DbCallMonitorSingleton.getInstance().buildData(clazz, method, end - begin);
} catch (Throwable ex) {
log.error("DbCallMonitor Exception : ", ex);
throw ex;
}
stopWatch.stop();
return obj;
}
// 将查询出的对象剔除事务,已确保不会被Hibernate事务自动更新
if(null != d) {
this.getSession().evict(d);
}
相关推荐
在Spring框架中,AOP(面向切面编程)是一种强大的工具,它允许我们在不修改源代码的情况下,对程序进行横向关注点的插入,比如日志记录、事务管理、权限检查等。在这里,我们重点关注如何利用Spring AOP实现分层...
在IT行业中,Spring框架是Java开发中...通过这个例子,开发者可以学习到如何在Spring环境中声明和使用DAO,以及如何创建和配置AOP切面以实现控制反转。这将有助于提升开发效率,降低代码间的耦合度,并使系统更加健壮。
在IT行业中,Spring框架是Java开发中的一个核心组件,它提供了丰富的功能,包括依赖注入、面向切面编程(AOP)以及与各种技术的集成,如Spring MVC和Hibernate。本项目"使用切面的方式记录日志springMvc + hibernate...
Spring框架是Java开发中最常用的轻量级开源框架之一,它为开发者提供了强大的依赖注入(IOC)、面向切面编程(AOP)、模型视图控制器(MVC)、数据访问/对象关系映射(DAO/ORM)等功能。以下是这些核心概念的详细...
在IT行业中,Spring AOP(面向切面编程)是一种强大的工具,它允许开发者在不修改原有业务代码的情况下,对程序进行功能增强或监控。在这个"springAOP实现数据字典.zip"压缩包中,我们主要关注的是如何利用Spring ...
在本课程“百知教育 — Spring系列课程 — AOP编程1”中,主要探讨的是Spring框架中的面向切面编程(AOP)概念及其应用。面向切面编程是Java EE开发中一个重要的技术,它允许开发者将关注点分离,将横切关注点(如...
【标题】"spring-aop.rar_java aop_spring aop" 涉及的主要知识点是Spring框架中的面向切面编程(AOP)以及Java基础知识。这个压缩包可能包含了一个简单的Spring AOP应用示例,同时也涵盖了Java的一些核心概念,如...
在Spring框架中,AOP(面向切面编程)是一种强大的工具,用于实现关注点的分离,使得我们可以将系统中的核心业务逻辑与横切关注点,如日志、事务管理、安全控制、审计等,解耦合。在这个场景中,我们讨论的是如何...
它通过依赖注入(DI)和面向切面编程(AOP)的概念,使代码更加松耦合,易于测试和维护。Spring还提供了数据访问、事务管理、邮件服务等多种功能模块。 2. **Spring MVC**:Spring MVC是Spring框架的一部分,用于...
在本示例中,我们将探讨如何整合Spring AOP(面向切面编程)与Hibernate ORM框架,并利用它们来实现事务管理,模拟一个简单的买书过程。这个过程将涉及到数据库操作,事务的开始、提交和回滚,以及AOP在处理事务中的...
5. **接口与实现分离**:用户只需要定义DAO接口,S2Dao会通过AOP(面向切面编程)自动生成实现类。 6. **事务管理**:支持自动和手动事务处理,提供了一套完整的事务控制机制。 【S2Dao的安装及基本概念】 1. **...
Java AOP(面向切面编程)是一种编程范式,它允许程序员定义“切面”,这些切面封装了特定关注点的实现,如日志、事务管理或安全性。在本示例中,`AOP.rar` 文件显然包含了与Java AOP相关的代码实现,可能是为了改善...
本项目主要讲述了如何将Spring Boot与MyBatis、Druid和PageHelper集成,同时提到了AOP(面向切面编程)以及事务管理,另外还提及了后续可能集成的Swagger和多数据源技术。 首先,Spring Boot与MyBatis的集成是为了...
而Spring AOP则是Spring框架的一部分,提供了面向切面编程的能力,允许我们定义横切关注点,如日志、事务管理等。 在这个实际案例中,Struts2、Hibernate和Spring AOP被集成使用,构建了一个完整的Web应用。以下是...
2. Spring AOP:AOP(面向切面编程)允许开发者定义“切面”,即关注点的模块化,如日志、事务管理等。Spring AOP通过代理模式实现了这一概念,可以在不修改原有代码的情况下,在运行时向目标对象添加额外的行为。在...
在Hibernate中,我们可以利用Spring框架的AOP(面向切面编程)和Transaction Proxy来实现这一功能。 1. Spring AOP:AOP允许我们在程序运行时,动态地将一些关注点(如事务管理)插入到目标对象的方法调用中。通过...
- **Spring3.0**:Spring作为企业级Java应用的全能框架,不仅提供了依赖注入(DI)和面向切面编程(AOP),还有Spring JDBC和Spring ORM模块,可以很好地与Mybatis整合,管理DAO和事务。 在这个项目中,Spring3.0很...
DAODAO网可能还使用了其他技术,如JSP(Java Server Pages)用于生成动态网页,MySQL作为数据库存储用户信息和帖子数据,使用Spring框架进行依赖注入和AOP(面向切面编程),以及使用Tomcat作为应用服务器。...
在Spring框架中,提供了对DAO的支持,例如通过事务管理、AOP(面向切面编程)来增强DAO的性能和安全性。Spring的JdbcTemplate和HibernateTemplate等工具类简化了DAO的实现,使得开发者可以更专注于业务逻辑而不是...
结合IOC(Inversion of Control,控制反转)、AOP(Aspect-Oriented Programming,面向切面编程)以及JDBC(Java Database Connectivity,Java数据库连接)技术,帮助读者理解并掌握如何构建一个留言管理系统网站。...