首先要导入aspectjrt.jar,aspectjweaver,commons-logging.jar
log4j.jar
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<!-- 要设定您的数据库的相关消息 -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/bookmarks" />
<property name="username" value="root" />
<property name="password" value="admin" />
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
destroy-method="destroy">
<property name="dataSource" ref="dataSource" />
<property name="mappingResources">
<list>
<value>onlyfun/caterpillar/model/User.hbm.xml
</value>
<value>onlyfun/caterpillar/model/Bookmark.hbm.xml
</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
</bean>
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="userDAO" class="onlyfun.caterpillar.model.UserDAO">
<property name="hibernateTemplate" ref="hibernateTemplate" />
</bean>
<bean id="bookmarkDAO" class="onlyfun.caterpillar.model.BookmarkDAO">
<property name="hibernateTemplate" ref="hibernateTemplate" />
</bean>
<!-- 要设定您的 Smtp Server 与寄件人 -->
<bean id="simpleMail" class="onlyfun.caterpillar.model.SimpleMail">
<property name="smtpHost" value="your_smtp_server" />
<property name="from" value="your_admin_address" />
</bean>
<!--**********************************************************-->
**********************************************************-->
<!-- 利用aop执行log记录日志-->
<bean id="myLog" class="onlyfun.caterpillar.util.LogHandler" />
<aop:config>
<aop:aspect id="logAspect" ref="myLog">
<aop:pointcut id="allControllerMethod"
expression="execution(* onlyfun.caterpillar.model.*.*(..))" />
<aop:before method="logging" pointcut-ref="allControllerMethod" />
</aop:aspect>
</aop:config>
</beans>
package onlyfun.caterpillar.util;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.aspectj.lang.JoinPoint;
public class LogHandler {
private static Logger logger = Logger.getLogger(LogHandler.class);
private void logging(JoinPoint joinPoint) {
// 获得当前目录路径
// String filePath=this.getClass().getResource("/").getPath();
// 找到log4j.properties配置文件所在的目录(已经创建好)
// filePath=filePath.substring(1).replace("bin", "src");
// System.out.println(filePath);
// loger所需的配置文件路径
// PropertyConfigurator.configure("log4j.properties");
// PropertyConfigurator.configure(" C:\\eclipse\\workspace\\SpringBookmarkMySql\\src\\log4j.properties");
System.out.println("logInfo: 调用" + joinPoint.getTarget().getClass()
+ " : " + joinPoint.getSignature().getName());
logger.info("-------------------------------");
// logger.error("--------------------");
}
}
分享到:
相关推荐
4、想看spring aop 注解实现记录系统日志并入库等 二、能学到什么 1、收获可用源码 2、能够清楚的知道如何用spring aop实现自定义注解以及注解的逻辑实现 (需要知道原理的请看spring aop源码,此处不做赘述) 3、...
本资源用来展示如何使用 spring aop 进行日志记录,例子里面通过aop的配置,把产生的日志存放到当前项目的根目录下,而且对方法执行过程中的参数进行了记录,对于aop如何记录日志不清楚的同学可以看看。
在Java开发中,Spring AOP(面向切面编程)是一个强大的功能,用于实现日志记录。AOP允许我们在不修改原有代码的情况下,插入新的行为,比如日志记录,事务管理等。下面将详细介绍如何在Spring框架中使用AOP来实现...
标题"spring aop实现日志功能"涉及到的是如何利用Spring AOP来记录和跟踪应用程序中的操作,这对于调试、性能分析和故障排查至关重要。下面我们将详细探讨如何通过Spring AOP来实现日志功能。 首先,理解AOP的基本...
在IT行业中,Spring AOP(面向切面编程)是一种强大的工具,它允许我们在代码中实现横切关注点,如日志记录、权限控制等,而无需侵入业务逻辑。本篇将深入探讨如何使用Spring AOP来记录操作日志,并通过自定义Aspect...
Spring AOP(Aspect Oriented Programming,面向切面...总的来说,Spring AOP通过提供面向切面的编程能力,极大地提高了代码的可复用性和可维护性,降低了系统复杂度,特别是在处理共性问题如日志、事务、安全等方面。
通过这个项目,我们可以学习到如何在Spring AOP中实现日志记录,这不仅可以帮助我们调试和监控应用程序,还可以为未来的维护提供宝贵的线索。同时,这也是理解和实践面向切面编程的一个很好的起点。
6. 结合Swagger UI:Swagger UI可以展示API文档,同时,通过AOP记录的日志可以在后台系统中查看,以便分析API的使用情况。 通过这种方式,我们可以实现对Swagger定义的API的全面日志跟踪,为API的调试、性能优化和...
在Spring框架中,AOP(面向切面编程)是一种强大的工具,它允许我们在不修改源代码的情况下,对程序进行横向关注点的插入,比如日志记录、事务管理、权限检查等。在这里,我们重点关注如何利用Spring AOP实现分层...
spring aop实现接口参数变更前后对比和日志记录完整代码,拿到项目代码,只需要做数据库连接的修改即可运行起来使用,代码案例详细,真是可靠,代码原文地址:...
总结来说,Spring AOP的日志管理是一个强大的工具,它帮助我们在不干扰业务逻辑的情况下实现日志记录。在MyEclipse中配置Spring库,结合JUnit4进行测试,可以有效地实现和验证这一功能。通过定义切面和通知,我们...
Spring AOP(面向切面编程)是Spring框架的重要组成部分,它提供了一种模块化和声明式的方式来处理系统中的交叉关注点问题,如日志、事务管理、安全性等。本示例将简要介绍如何在Spring应用中实现AOP,通过实际的...
总结一下,Spring AOP提供了一种优雅的方式来处理系统的横切关注点,如日志记录、事务管理或性能监控。通过定义切点、创建切面和配置通知,我们可以实现代码的解耦,提高可维护性和复用性。这个例子提供了学习Spring...
通过以上方式,我们可以利用Spring AOP和元注解实现灵活的日志管理和分析,同时确保日志记录对系统性能的影响最小。这在大型Java应用中尤其重要,因为它提供了宝贵的运维数据,有助于问题排查和性能优化。
本节将详细介绍如何使用Spring AOP实现流程日志跟踪,主要关注于如何通过AOP拦截特定的类和方法来进行日志记录。 ##### 3.1 配置Spring AOP 在Spring配置文件中定义切面和切入点表达式是非常关键的一步。一般来说...
Spring AOP(面向切面编程)是Spring框架的核心特性之一,它允许程序员在不修改源代码的情况下,通过“切面”来插入额外的业务逻辑,如日志、事务管理等。AOP的引入极大地提高了代码的可复用性和可维护性。 ### 1. ...
### Spring AOP面向方面编程原理:AOP概念详解 #### 一、引言 随着软件系统的日益复杂,传统的面向对象编程(OOP)逐渐暴露出难以应对某些横切关注点(cross-cutting concerns)的问题。为了解决这一挑战,面向方面编程...
Spring AOP,全称为Aspect-Oriented Programming,是Spring框架中的一个重要组成部分,主要用来处理系统的横切关注点,如日志记录、事务管理、性能监控等。这些关注点通常会分散在应用程序的各个角落,而AOP就是为了...