对于Spring AOP的介绍就不写了,想必大家要看肯定对其了解一二了!
首先去Spring官方下载
,除此之外还需要Commons logging.jar
和 AspectJ
及aopaliacne.jar 的支持
因
为是Spring AOP 的DEMO 所以在Eclipse里创建web项目 或是 java项目均可!
首先创建
一个接口:Person.java
public interface Person {
public void readBook(String name);
}
然
后是实现类:Man.java
public class Man implements Person {
public void readBook(String name) {
System.out.println("Man:"+name);
}
}
还
有一个很重要的切入点的类:
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
@Aspect
public class PersonProxy {
@After("execution(public * *.*(..))") //定义切点,匹配规则为(范围 返回类型 返回类.方法(参数设置)
public void after(){
System.out.println("After:....................");
}
@Before("execution(* *(..))") //定义切点,匹配规则为(返回类型 方法(参数设置)
public void before(){
System.out.println("Before:*******************");
}
}
现
在已经基本完成一大半了
还差一个Spring context
的配置文件要放在src下,其实这个文件名叫什么并不重要,我们还是遵循一个潜规则就还叫它:ApplicationContext.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: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-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
">
<!-- 注册aspectj -->
<aop:aspectj-autoproxy/>
<!-- 注册代理过滤器 -->
<context:component-scan base-package="com.baobao.aop.inter">
<context:include-filter type="annotation"
expression="org.aspectj.lang.annotation.Aspect" />
</context:component-scan>
<bean id="PersonProxy" class="com.baobao.aop.proxy.PersonProxy"/>
<bean id="Man" class="com.baobao.aop.impl.Man"/>
</beans>
完
成之后还差最后一个测试类:AopDemo1.java
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.baobao.aop.inter.Person;
public class AopDemo1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// 获取配置文件
ApplicationContext ctx=new ClassPathXmlApplicationContext("ApplicationContext.xml");
//通过配置文件获得接口的实例
Person p=(Person)ctx.getBean("Man");
//父类调用子类方法
p.readBook("spring aop");
}
}
运行一下测试类,我已经测试过没有问题!
没有写太多说明,只是一个AOP 的简单小例子,入门而已。
分享到:
相关推荐
**Spring AOP 简单demo** 在Java开发中,Spring框架因其强大的功能和灵活性而被广泛应用,其中AOP(面向切面编程)是其重要特性之一。AOP允许程序员将关注点分离到不同的模块,使得代码更加整洁,易于维护。下面...
**Spring3.0** 是一个全面的企业级应用开发框架,强调依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)。它允许开发者通过XML或注解来声明bean的依赖关系,使得代码更加松...
标题和描述中提到的"spring3.0+hibernate3.0+struts2"是一个经典的Java Web开发框架组合,通常简称为SSH框架。这个Demo涵盖了基础的CRUD(创建Create、读取Read、更新Update、删除Delete)操作,是学习和理解这三大...
Spring框架作为Java企业级应用开发的基石,自3.0版本发布以来,以其强大的IoC(Inversion of Control)和AOP(Aspect-Oriented Programming)功能,以及对其他技术的无缝集成,深受开发者喜爱。本文将围绕Spring 3.0...
通过这个Spring自启动项目demo,我们可以学习到Spring如何管理和初始化Bean,以及如何使用Spring MVC来构建一个简单的Web应用。这只是一个基础的示例,实际项目中可能涉及到更复杂的配置和功能,如AOP(面向切面编程...
首先,Spring 3.0是Java领域的一款全功能的轻量级应用框架,它提供了依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP)等功能,使得代码更加模块化和可测试。在Spring 3.0中...
EXTJS3.0登录DEMO是一个基于EXTJS框架的示例项目,展示了如何将EXTJS与STRUTS2、SPRING和IBATIS等流行Java技术整合,构建一个完整的Web应用程序。EXTJS是一个用于创建富客户端界面的JavaScript库,而STRUTS2、SPRING...
这个SSH框架Demo项目展示了如何将这三个框架集成到一起,用于构建一个简单的登录注册系统,并与数据库进行交互。以下是关于SSH框架及其在该项目中的应用的详细知识: 1. **Struts2**: - Struts2作为控制器层,...
本篇将详细讲解如何将这两个框架进行集成,创建一个简单的Spring MyBatis demo。 首先,我们需要在项目中引入Spring和MyBatis的相关依赖。通常,这可以通过Maven或Gradle的配置文件来完成。对于Maven,可以在pom....
同时,这也是一种在不引入额外框架(如Spring AOP)的情况下,利用Java EE平台原生支持的AOP机制。 总之,EJB结合AOP能够帮助开发者更好地组织代码,将关注点分离,提高代码的可读性和可复用性。通过注解的使用,...
在本项目"spring整合mybatis的demo"中,我们看到一个使用了三个核心框架——Spring、SpringMVC和MyBatis的web应用示例。这是一个经典的Java后端开发技术栈,用于构建数据驱动的Web应用。以下是这些技术的详细解释...
在本文中,我们将深入探讨如何使用Spring MVC Portlet 3.0框架开发针对IBM WebSphere Portal的应用。Spring MVC Portlet是Spring Framework的一部分,它提供了一种优雅的方式来构建portlet应用程序,而IBM WebSphere...
这个名为"Spring-Jpa__demo"的项目,显然是一个使用Spring 3.0和Hibernate 3.2实现的示例,目的是展示如何结合这两者进行数据持久化操作。Spring 3.0是Spring框架的一个重要版本,它引入了许多新特性,如支持JSR-303...
《SpringWebDemo.zip——SSM框架的Spring配置类实践》 在Java Web开发领域,SSM框架(Spring、Struts、MyBatis)是广泛使用的三大组件,它们各自负责不同的职责,共同构建出强大的企业级应用。本示例项目"SpringWeb...
【标题】"hibernate+dwr+spring+jstl的demo"揭示了这是一个结合了四个关键技术的示例项目,主要用于展示如何在Web开发中整合这些技术。这些技术分别是Hibernate(对象关系映射框架)、Direct Web Remoting (DWR)(一...
Spring2.5是一个全面的后端应用管理框架,提供了依赖注入、AOP(面向切面编程)、数据访问等服务;Hibernate3.2则是一个对象关系映射(ORM)工具,简化了数据库操作。 首先,Struts1.2框架的核心是ActionServlet,...
本次我们将通过"Spring demo 2017-04-18"的实例,深入探讨Spring的几个重要知识点,包括Bean的自动装配、AOP(面向切面编程)、泛型依赖注入以及JDBC的两种实现方式。 1. **Bean的自动装配**: Spring的自动装配...
【CXF3.0 demo】是一个关于Apache CXF框架与Spring集成的示例项目,它展示了如何在CXF 3.0版本中构建和运行Web服务。Apache CXF是一个开源的Java框架,用于构建和部署Web服务,它支持多种协议和服务模型,包括SOAP、...
Spring是Java企业级应用的核心框架,提供依赖注入(DI)和面向切面编程(AOP)等特性,帮助开发者管理对象和简化代码。在SSM项目中,Spring作为整个应用的容器,管理所有bean(包括Spring MVC的控制器和MyBatis的...
1. **Spring** 作为核心容器,负责管理所有组件(包括Struts2和MyBatis的配置)。配置Spring的ApplicationContext,声明Bean并实现依赖注入。 2. **Struts2** 的配置需导入Spring插件,使得Action可以被Spring管理...