都几个月了,总是搞这些开源的玩意,老的还没有啃完,又来了一个小的。我是天天在这几个开源的项目之间切来切去,搞得我头昏脑胀。今天是星期五,休息休息,搞下aop。
下面是Aop的入门例子,及其简单,我只是换下心情。
运用的是jdk的动态代理
a. 编写UserManagerImpl的接口UserManager
package com.yyn.user;
public interface UserManager {
public void addUser(String name,String password);
public void delUser(int id);
}
b. 编写UserManagerImp.java
package com.yyn.user;
public class UserManagerImpl implements UserManager{
public void addUser(String name, String password) {
System.out.println("UserManagerImpl.addUser");
}
public void delUser(int id) {
System.out.println("UserManagerImpl.delUser");
}
}
c. 编写aop 的aspect类Check.java
package com.yyn.aspect;
/**
[align=left][/align]*
* @author Administrator
* aop 的aspect
*/
public class Check {
/**
* aop 的advice
* **/
public void says(){
System.out.println("开始检查.....");
}
}
d. 编写aop的spring配置文件bean.xml
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
<bean id="UserManagerImpl" class="com.yyn.user.UserManagerImpl"></bean>
<bean id="Advice" class="com.yyn.aspect.Check"></bean>
<aop:config>
<aop:aspect ref="Advice">
<aop:pointcut id="pointcut" expression="execution(* com.yyn.user.UserManagerImpl.*(..))" /><!-- 切入点表达式 -->
<aop:before pointcut-ref="pointcut" method="says"/><!--在 切入点方法之前执行检查操作 -->
</aop:aspect>
</aop:config>
</beans>
e. 开始测试
package com.yyn.test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.yyn.user.UserManager;
public class Main {
public static void main(String[] args) {
BeanFactory bf = new ClassPathXmlApplicationContext ("beans.xml") ;
UserManager userManager =(UserManager) bf.getBean("UserManagerImpl") ;
userManager.delUser(1) ;
}
}
分享到:
相关推荐
Java AOP(面向切面编程)、IOC(控制反转)和注解是Java开发中的核心概念,尤其在Spring框架中被广泛应用。本实例Demo将深入探讨这三个主题,通过具体代码示例帮助理解它们的工作原理和实际用途。 AOP,即面向切面...
Java AOP(面向切面编程)是软件设计中的一个重要概念,它允许程序员定义“切面”,这些切面封装了特定的、与业务逻辑不直接相关的关注点,如日志、事务管理、性能监控等。AOP的核心思想是将横切关注点从核心业务...
在Java编程领域,AOP(Aspect Oriented Programming,面向切面编程)是一种强大的设计模式,它允许程序员将关注点从核心业务逻辑中分离出来,如日志、事务管理、性能监控等。AOP的主要思想是将这些横切关注点与主...
Java AOP(面向切面编程)是一种编程范式,它允许程序员定义“切面”,这些切面封装了特定关注点的代码,如日志、事务管理、权限检查等。这样可以将这些关注点与核心业务逻辑分离,提高代码的可读性和可维护性。在...
【标题】"spring-aop.rar_java aop_spring aop" 涉及的主要知识点是Spring框架中的面向切面编程(AOP)以及Java基础知识。这个压缩包可能包含了一个简单的Spring AOP应用示例,同时也涵盖了Java的一些核心概念,如...
Java AOP(面向切面编程)是一种编程范式,它允许程序员定义“切面”,这些切面封装了特定关注点的实现,如日志、事务管理或安全性。在本示例中,`AOP.rar` 文件显然包含了与Java AOP相关的代码实现,可能是为了改善...
Java AOP(面向切面编程)是一种编程范式,它允许程序员定义“切面”,这些切面封装了特定的关注点,如日志、事务管理或性能监控。在Java世界中,AspectJ是一个强大的AOP框架,它扩展了Java语言,提供了静态和动态...
在Java开发中,AOP(面向切面编程)是一种强大的设计模式,它允许程序员将关注点从业务逻辑中分离出来,比如日志记录、事务管理、性能监控等。本话题聚焦于如何使用Java AOP来在方法执行前后插入日志记录,这有助于...
Java AOP(面向切面编程)是一种编程范式,它允许程序员定义“切面”,这些切面封装了特定关注点的代码,如日志、事务管理或安全性,从而提高代码的可重用性和模块化。在Java中,Spring框架提供了对AOP的强大支持。 ...
Java AOP(面向切面编程)是Spring框架中的一个重要特性,它允许我们在不修改源代码的情况下,对程序进行功能增强,比如日志记录、权限控制、事务管理等。在这个"java AOP接口防刷代码"中,我们很可能是找到了一种...
Java AOP(面向切面编程)是Java编程领域中的一个重要概念,它允许程序员定义横切关注点,并将这些关注点与应用程序的业务逻辑分离。在实际开发中,公共异常处理是一个常见的AOP应用场景,用于统一处理可能出现的...
java aop bible must to read it
java AOP重要概念.jpg
该项目为君匡出品,采用AspectJ技术实现的Java AOP项目示例源码。项目包含143个文件,其中84个为Java源代码文件,34个为XML配置文件,18个为Markdown文档,5个为AspectJ注解文件,1个为Git忽略配置文件,1个为YAML...
Java AOP原理以及实例用法总结 Java AOP(Aspect-Oriented Programming,面向切面编程)是一种编程思想,旨在满足高耦合低内聚的六大原则。AOP通过将横切关注点(cross-cutting concerns)与业务逻辑分离,来提高...
Java AOP(面向切面编程)是Java编程领域中一种重要的设计模式,它允许程序员在不修改源代码的情况下,插入新的行为或增强已有功能。在本示例中,我们将探讨如何在Spring Boot框架中实现AOP,从而提高代码的可维护性...
使用 Spring AOP 进行方法耗时监测的好处有以下几点: 1. 代码实现简单,易于维护:使用 Spring AOP 可以将耗时监测的逻辑与业务逻辑进行解耦,避免业务逻辑代码的冗余和代码维护难度的提高。 2. 安全性高:使用 ...
AOP(Aspect Oriented Programming,面向切面编程)是Java编程领域中的一种设计模式,它扩展了传统的面向对象编程,允许程序员定义“方面”,这些方面可以包含关注点,如日志、事务管理、性能监控等,这些关注点通常...
Java Spring AOP(面向切面编程)是一种强大的设计模式,它允许程序员在不修改源代码的情况下,通过插入切面来增强或修改已有代码的行为。在Spring框架中,AOP主要用于日志记录、性能监控、事务管理等场景。下面将...