`
xiebaolong
  • 浏览: 6525 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Spring 3.0 AOP 简单DEMO(1)

阅读更多

对于Spring AOP的介绍就不写了,想必大家要看肯定对其了解一二了!
首先去Spring官方下载 ,除此之外还需要Commons logging.jarAspectJ 及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 的简单小例子,入门而已。

5
1
分享到:
评论
2 楼 yhbbobo 2010-12-31  
<!-- 注册aspectj --> 
14.    <aop:aspectj-autoproxy/> 
15.      
16.    <!-- 注册代理过滤器 --> 
17.    <context:component-scan base-package="com.baobao.aop.inter">    
18.        <context:include-filter type="annotation"    
19.           expression="org.aspectj.lang.annotation.Aspect" />    
20.    </context:component-scan> 


如果这两个都存在会执行两次,我保留了上边这个<aop:aspectj-autoproxy/> ,就行了
1 楼 Liuy.Silence 2010-06-21  
没人顶阿宝.

相关推荐

    Spring AOP 简单demo

    **Spring AOP 简单demo** 在Java开发中,Spring框架因其强大的功能和灵活性而被广泛应用,其中AOP(面向切面编程)是其重要特性之一。AOP允许程序员将关注点分离到不同的模块,使得代码更加整洁,易于维护。下面...

    struts2.0+spring3.0+hibernate3.2框架整合Demo

    **Spring3.0** 是一个全面的企业级应用开发框架,强调依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)。它允许开发者通过XML或注解来声明bean的依赖关系,使得代码更加松...

    spring3.0+hibernate3.0+struts2,此Demo有,增,删,查,改

    标题和描述中提到的"spring3.0+hibernate3.0+struts2"是一个经典的Java Web开发框架组合,通常简称为SSH框架。这个Demo涵盖了基础的CRUD(创建Create、读取Read、更新Update、删除Delete)操作,是学习和理解这三大...

    spring3.0学习

    Spring框架作为Java企业级应用开发的基石,自3.0版本发布以来,以其强大的IoC(Inversion of Control)和AOP(Aspect-Oriented Programming)功能,以及对其他技术的无缝集成,深受开发者喜爱。本文将围绕Spring 3.0...

    Spring 自启动项目demo

    通过这个Spring自启动项目demo,我们可以学习到Spring如何管理和初始化Bean,以及如何使用Spring MVC来构建一个简单的Web应用。这只是一个基础的示例,实际项目中可能涉及到更复杂的配置和功能,如AOP(面向切面编程...

    spring3.0,ibatis2.0,dwr2.0 框架整合

    首先,Spring 3.0是Java领域的一款全功能的轻量级应用框架,它提供了依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP)等功能,使得代码更加模块化和可测试。在Spring 3.0中...

    EXTJS3.0登陆DEMO

    EXTJS3.0登录DEMO是一个基于EXTJS框架的示例项目,展示了如何将EXTJS与STRUTS2、SPRING和IBATIS等流行Java技术整合,构建一个完整的Web应用程序。EXTJS是一个用于创建富客户端界面的JavaScript库,而STRUTS2、SPRING...

    ssh框架demo Struts2.0+Spring3.0+hibernate

    这个SSH框架Demo项目展示了如何将这三个框架集成到一起,用于构建一个简单的登录注册系统,并与数据库进行交互。以下是关于SSH框架及其在该项目中的应用的详细知识: 1. **Struts2**: - Struts2作为控制器层,...

    Spring集成MyBatis简单demo

    本篇将详细讲解如何将这两个框架进行集成,创建一个简单的Spring MyBatis demo。 首先,我们需要在项目中引入Spring和MyBatis的相关依赖。通常,这可以通过Maven或Gradle的配置文件来完成。对于Maven,可以在pom....

    EJB+Annotation实现AOP的DEMO

    同时,这也是一种在不引入额外框架(如Spring AOP)的情况下,利用Java EE平台原生支持的AOP机制。 总之,EJB结合AOP能够帮助开发者更好地组织代码,将关注点分离,提高代码的可读性和可复用性。通过注解的使用,...

    spring整合mybatis的demo

    在本项目"spring整合mybatis的demo"中,我们看到一个使用了三个核心框架——Spring、SpringMVC和MyBatis的web应用示例。这是一个经典的Java后端开发技术栈,用于构建数据驱动的Web应用。以下是这些技术的详细解释...

    使用spring mvc portlet 3.0开发IBM WebSphere Portlet应用

    在本文中,我们将深入探讨如何使用Spring MVC Portlet 3.0框架开发针对IBM WebSphere Portal的应用。Spring MVC Portlet是Spring Framework的一部分,它提供了一种优雅的方式来构建portlet应用程序,而IBM WebSphere...

    Spring-Jpa__demo:利用Spring+Jpa造了个轮子。 (Spring3.0、hibernate3.2)

    这个名为"Spring-Jpa__demo"的项目,显然是一个使用Spring 3.0和Hibernate 3.2实现的示例,目的是展示如何结合这两者进行数据持久化操作。Spring 3.0是Spring框架的一个重要版本,它引入了许多新特性,如支持JSR-303...

    SpringWebDemo.zip

    《SpringWebDemo.zip——SSM框架的Spring配置类实践》 在Java Web开发领域,SSM框架(Spring、Struts、MyBatis)是广泛使用的三大组件,它们各自负责不同的职责,共同构建出强大的企业级应用。本示例项目"SpringWeb...

    hibernate+dwr+spring+jstl的demo

    【标题】"hibernate+dwr+spring+jstl的demo"揭示了这是一个结合了四个关键技术的示例项目,主要用于展示如何在Web开发中整合这些技术。这些技术分别是Hibernate(对象关系映射框架)、Direct Web Remoting (DWR)(一...

    struts1.2 + spring2.5 + hibernate3.2框架demo

    Spring2.5是一个全面的后端应用管理框架,提供了依赖注入、AOP(面向切面编程)、数据访问等服务;Hibernate3.2则是一个对象关系映射(ORM)工具,简化了数据库操作。 首先,Struts1.2框架的核心是ActionServlet,...

    Spring demo 2017-04-18

    本次我们将通过"Spring demo 2017-04-18"的实例,深入探讨Spring的几个重要知识点,包括Bean的自动装配、AOP(面向切面编程)、泛型依赖注入以及JDBC的两种实现方式。 1. **Bean的自动装配**: Spring的自动装配...

    CXF3.0 demo

    【CXF3.0 demo】是一个关于Apache CXF框架与Spring集成的示例项目,它展示了如何在CXF 3.0版本中构建和运行Web服务。Apache CXF是一个开源的Java框架,用于构建和部署Web服务,它支持多种协议和服务模型,包括SOAP、...

    springmvc4.3 mybatis3.0整合的一个demo ssm

    Spring是Java企业级应用的核心框架,提供依赖注入(DI)和面向切面编程(AOP)等特性,帮助开发者管理对象和简化代码。在SSM项目中,Spring作为整个应用的容器,管理所有bean(包括Spring MVC的控制器和MyBatis的...

    struts2+spring 3.1+mybatis3.0

    1. **Spring** 作为核心容器,负责管理所有组件(包括Struts2和MyBatis的配置)。配置Spring的ApplicationContext,声明Bean并实现依赖注入。 2. **Struts2** 的配置需导入Spring插件,使得Action可以被Spring管理...

Global site tag (gtag.js) - Google Analytics