`
zkh43javaeye
  • 浏览: 85936 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

AOP学习

阅读更多

1.需要在应用程序的classpath中引入两个AspectJ库:aspectjweaver.jar    和 aspectjrt.jar。

 

2.servlet.xml

<?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:jee="http://www.springframework.org/schema/jee"
	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util"
	xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">
         //自动扫描包
	<context:component-scan base-package="test.web.controller" />
	
</beans>

 3.java

	@AfterReturning("execution(* test.service.*.save(..))")
	public void afterSaveAdviceDo(JoinPoint joinPoint) {
		try {
			Log entity = new Log();

			String content = "";
                       //获取save的实体;
			Object object = joinPoint.getArgs()[0];
                         
			content = _buildContentByReflex(object, Constants.SYS_ACTION_SAVE);
			Administrator admin = AspectHelper.getCurrentAdministrator(object);

			SystemInfo info = new SystemInfo();
			info.setCreateDate(new Date());
			info.setCreateUser(admin);
			info.setLastModifyDate(new Date());
			info.setLastModifyUser(admin);

			entity.setSystemInfo(info);
			entity.setContent(content);

			logService.write(entity);
		} catch (Exception e) {
			if (log.isErrorEnabled())
				log.error(e, e);
		}
	}
 
分享到:
评论

相关推荐

    Spring IOC AOP学习示例

    Spring IOC AOP学习示例代码,包含Spring常用操作示例和所有所需jar文件。参考博客:http://blog.csdn.net/daijin888888/article/details/51735291

    spring aop 学习笔记

    本学习笔记将深入探讨Spring AOP的核心概念、工作原理以及实际应用。 1. **核心概念** - **切面(Aspect)**:切面是关注点的模块化,包含业务逻辑之外的横切关注点,如日志、事务管理。 - **连接点(Join Point...

    aop学习

    面向切面编程(AOP,Aspect Oriented Programming)是一种编程范式,旨在将关注点分离,使得系统中的横切关注点,如日志、事务管理、权限检查等,可以从核心业务逻辑中解耦出来。AOP的核心概念包括切面、连接点、...

    C# AOP学习DEMO

    在"C# AOP学习DEMO"中,很可能是通过上述的一种或多种方式展示了AOP的实践。DEMO可能包含了如何定义切面、如何应用切面、如何处理横切关注点等内容。例如,它可能包括了以下部分: - 特性的定义和使用:创建自定义...

    SpringAop学习笔记以及实现Demo

    **Spring AOP 学习笔记及实现Demo** Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架中的一个重要组成部分,它提供了一种在不修改源代码的情况下,对程序进行功能增强的技术。AOP的主要目的...

    Spring AOP学习资料(pdf)

    ### Spring AOP 学习资料知识点总结 #### 一、Spring AOP 概念与背景 **Spring AOP**(面向切面编程)是Spring框架中的一个重要组成部分,它通过预定义的切入点来分离关注点,使得核心业务逻辑更加清晰,同时能够...

    2024-spring-aop学习项目

    《深入理解Spring AOP:2024春季学习项目指南》 ...通过这个2024春季AOP学习项目,开发者将有机会亲手实践上述概念,深入理解Spring AOP的精髓,从而在实际项目中更好地运用这一强大的工具,提升代码质量与工程效率。

    spring aop学习实例

    **Spring AOP学习实例** Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架中的一个重要组成部分,它提供了一种在不修改源代码的情况下,对程序进行功能增强的技术。AOP允许开发者定义“切面”...

    spring AspectJ aop学习

    当我们谈论"spring AspectJ aop学习"时,我们将深入探讨Spring AOP如何结合AspectJ来实现更灵活的模块化和解耦。 首先,让我们理解AOP的概念。面向切面编程(Aspect Oriented Programming)是一种编程范式,旨在将...

    Spring Aop 学习笔记

    Spring Aop 学习笔记

    springaop学习

    ### Spring AOP 学习知识点详解 #### 一、Spring AOP 原理 **Spring AOP**(面向切面编程)是 Spring 框架中的一个关键特性,它提供了一种优雅的方式来处理横切关注点(cross-cutting concerns)。在实际应用中,...

    AOP学习笔记

    《AOP学习笔记》 在软件开发中,面向切面编程(Aspect-Oriented Programming,简称AOP)是一种重要的编程范式,它旨在提高代码的可读性和可维护性,通过将关注点分离来实现模块化。AOP的核心概念是切面、连接点、...

    SSH+AOP学习资料源码

    通过学习和实践这些SSH+AOP的资料源码,开发者可以提升自己在Java Web开发领域的技能,理解如何利用Spring管理依赖,使用Struts处理Web请求,借助Hibernate操作数据库,以及如何运用AOP来增强代码的灵活性和可维护性...

    Spring AOP学习笔记

    NULL 博文链接:https://linres.iteye.com/blog/281221

    面向方法编程AOP学习之二 —— “原始时代”

    在这一阶段,程序员们开始意识到将程序分解为一系列独立的功能模块或方法的重要性,但尚未发展出如面向切面编程(Aspect-Oriented Programming,AOP)等更为先进的技术。 在面向方法编程的“原始时代”,开发者主要...

    [#0x0042] Spring AOP学习(二):动态代理

    在Spring AOP的学习中,动态代理是一个至关重要的概念。本文将深入探讨动态代理在Spring框架中的应用,以及如何通过JDK的动态代理机制实现这一功能。动态代理是面向切面编程(AOP)的一种实现方式,它允许我们在不...

    aopmock:aop学习记录并简单模仿实现

    《AOPMock:AOP学习与简易实现解析》 在软件开发中,面向切面编程(Aspect Oriented Programming,简称AOP)是一种重要的设计模式,它允许程序员将关注点从核心业务逻辑中分离出来,专注于系统的横切关注点,如日志...

Global site tag (gtag.js) - Google Analytics