- 浏览: 54405 次
文章分类
- 全部博客 (98)
- openstack (14)
- spring+hibernate+jdbc (15)
- dashboard (1)
- Python (3)
- nova (2)
- ubuntu (1)
- Linux (2)
- apache (1)
- openstack,错误 (1)
- Windows (1)
- horizon (1)
- websocket (1)
- java (2)
- mybatis (4)
- quartz (2)
- git (1)
- spring,错误 (1)
- angularJS (8)
- redis (2)
- vim (1)
- virsh (1)
- jsp (1)
- react (1)
- openstack,openstack安装 (4)
- 社区 (1)
最新评论
-
haoningabc:
前后端都会啊,全栈女神啊
angularJS 弹出层 -
haoningabc:
好厉害,偶像
openstack安装--keystone
Employe.java package com.aop; public interface Employee { public void signIn(); }
CommonEmployee.java package com.aop; public class CommonEmployee implements Employee{ private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public void signIn() { System.out.println(name+" is very beautiful"); } }
AspectJLogger.java package com.aop; import java.util.Date; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.After; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; @Aspect public class AspectJLogger { public static final String EDP = "execution(* com.aop.CommonEmployee.sign*(..))"; @Before(EDP) //spring中Before通知 public void logBefore() { System.out.println("logBefore:现在时间是:"+new Date()); } @After(EDP) //spring中After通知 public void logAfter() { System.out.println("logAfter:现在时间是:"+new Date()); } @Around(EDP) //spring中Around通知 public Object logAround(ProceedingJoinPoint joinPoint) { System.out.println("logAround开始:现在时间是:"+new Date()); //方法执行前的代理处理 Object[] args = joinPoint.getArgs(); Object obj = null; try { obj = joinPoint.proceed(args); } catch (Throwable e) { e.printStackTrace(); } System.out.println("logAround结束:现在时间是:"+new Date()); //方法执行后的代理处理 return obj; } }
aa.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:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd" > <aop:aspectj-autoproxy/> <bean id="aspect" class="com.aop.AspectJLogger" /> <bean id="employee" class="com.aop.CommonEmployee"> <property name="name" value="zouhuiying"></property> </bean> </beans>
Test.java package com.aop; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.aop.Employee; public class Test { public static void main(String[] args) throws Exception{ ApplicationContext act = new ClassPathXmlApplicationContext("aa.xml"); Employee e = (Employee)act.getBean("employee"); e.signIn(); } }
执行结果
logAround开始:现在时间是:Mon Feb 29 16:13:01 CST 2016
logBefore:现在时间是:Mon Feb 29 16:13:01 CST 2016
zouhuiying is very beautiful
logAround结束:现在时间是:Mon Feb 29 16:13:01 CST 2016
logAfter:现在时间是:Mon Feb 29 16:13:01 CST 2016
发表评论
-
springmvc获取js文件失败
2016-05-03 19:18 487在springmvc的配置文件中加入 <mvc:reso ... -
menu模块的自关联查询
2016-04-27 10:16 672<!-- 针对菜单的父子关系,定义的树状结构Result ... -
spring配置文件快速查找
2016-04-12 21:20 411<!--spring 扫包 @Service ... ... -
spring mvc整合mybatis
2016-04-06 15:30 4621.spring配置文件: applicationContex ... -
spring 泛型
2016-04-05 13:23 479Spring4.0可以为子类注入子类的泛型类型,成员变量的引用 ... -
spring基础学习笔记
2016-03-31 13:58 402OR M O:对象,自己定义一个class,属性为privat ... -
hibernate 事务
2016-03-07 11:10 4871.新建java(maven)普通工程 2.配置maven, ... -
spring jdbc 事务
2016-03-04 18:04 503使用事务 一.配置文件 ... -
spring hibernate
2016-03-04 10:31 3561. Spring 整合 Hibernate 整合什么 ? ... -
spring mvc参数传递
2016-03-02 20:50 5771.使用HttpServletRequest request ... -
spring mvc 处理器映射的三种方式
2016-03-02 15:04 6621.通过beanname 配置springmvc-servl ... -
spring mvc 注解实例
2016-03-02 11:29 4461.web.xml <?xml version=&qu ... -
spring mvc 完整实例
2016-03-01 19:50 6211.新建工程,把spring所需的包copy到工程里 2.配置 ... -
spring jdbc完整实例
2016-02-29 21:36 418StudentDAO.java package com.jd ...
相关推荐
**Spring AOP 使用实例** Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架的一个重要组成部分,它提供了一种在不修改原有代码的情况下,通过代理方式添加额外功能的技术。这种技术使得我们...
Spring AOP(面向切面编程)是Spring框架的重要组成部分,它提供了一种强大的方式来实现横切关注点,如日志、事务管理、安全性等,从而解耦应用程序的核心业务逻辑。在Spring AOP中,关注点被模块化为独立的“切面”...
Spring AOP的XML配置实例展示了如何将横切关注点(如日志、事务等)与业务逻辑解耦,提高了代码的可复用性和可维护性。这种编程模式在大型项目中尤其有用,因为它使得系统的结构更加清晰,每个组件都专注于自己的...
Spring AOP(面向切面编程)是Spring框架的核心特性之一,它允许开发者在不修改源代码的情况下,通过插入切面来增强或改变程序的行为。在本教程中,我们将深入探讨Spring AOP的不同使用方法,包括定义切点、通知类型...
**Spring AOP 实例详解** 在Java开发领域,Spring框架以其强大的功能和灵活性深受开发者喜爱。其中,AOP(Aspect-Oriented Programming,面向切面编程)是Spring框架的一个重要特性,它允许开发者将关注点从核心...
Spring AOP(面向切面编程)是Spring框架的重要组成部分,它提供了一种模块化和声明式的方式来处理系统中的交叉关注点问题,如日志、事务管理、安全性等。本示例将简要介绍如何在Spring应用中实现AOP,通过实际的...
在这个入门实例中,我们将深入理解Spring AOP如何实现简单日志记录。 首先,AOP的核心概念包括切面(Aspect)、通知(Advice)、连接点(Join Point)、切入点(Pointcut)和织入(Weaving)。切面是AOP中的核心...
本实例将深入探讨如何在Spring AOP中实现权限控制,以提高代码的可读性和可维护性。 首先,我们要理解AOP的基本概念。AOP允许程序员定义“切面”,这些切面封装了特定的关注点,比如权限检查。然后,这些切面可以在...
本实例将深入探讨如何在Spring 4.0版本中实现AOP。 首先,AOP的核心概念包括切面(Aspect)、通知(Advice)、连接点(Join Point)、切入点(Pointcut)和织入(Weaving)。切面是AOP中的一个模块,包含了一组相关...
通过以上步骤,你就成功地配置了一个基本的Spring AOP实例,实现了对特定方法的日志记录。当然,实际的项目中可能会有更复杂的切面逻辑和通知类型,但这个实例提供了一个很好的起点。你可以根据需要扩展和调整切点...
在本实例代码中,我们将深入探讨Spring AOP的基本概念、核心组件以及如何在实际项目中应用。 首先,了解AOP的基本理念是理解其工作原理的关键。AOP是一种编程范式,旨在减少代码重复,提高可维护性和可读性。在传统...
Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架的重要组成部分,它提供了一种在不修改源代码的情况下,对程序进行功能增强的技术。这个"spring aop jar 包"包含了实现这一功能所需的类和接口,...
在这个"SpringAop实例"中,可能包含了演示如何创建和使用这两种配置方式的代码示例。文件列表中的"spring32"可能是指Spring 3.2版本的相关文件,这个版本的Spring对AOP的支持已经相当成熟。 通过学习这个实例,你...
**Spring AOP学习实例** Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架中的一个重要组成部分,它提供了一种在不修改源代码的情况下,对程序进行功能增强的技术。AOP允许开发者定义“切面”...
Spring AOP 日志管理 实例LoggingThrowsAdvice.java
**Spring AOP编程实例** Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架的核心特性之一,它提供了一种在不修改原有代码的情况下,通过插入额外的行为(如日志、事务管理等)来增强功能的...
Spring AOP和IOC是Spring框架的核心特性,它们极大地简化了企业级Java应用的开发。AOP(面向切面编程)允许我们分离关注点,将横切关注点(如日志、事务管理)从核心业务逻辑中解耦出来。而IOC(控制反转)则是...
本文将基于"spring aop小实例"的标题,结合描述中的链接,深入探讨Spring AOP的基本概念、工作原理以及如何通过实际示例来理解和应用。 1. **AOP基本概念** - 面向切面编程(AOP)是面向对象编程(OOP)的补充,它允许...
在提供的压缩包文件"springAOP"中,可能包含了以下内容: - **切面类(Aspect Class)**:包含切点和通知的Java类,可能使用了`@Aspect`注解。 - **目标类(Target Class)**:被AOP代理的对象,通常包含业务逻辑。...