Spring AOP 注解配置实例

Spring AOP注解例子

一:导入相关jar包。

首先导入Spring的相关包(这里就不多说了,我这里是3.2.4版本的)

然后导入AOP注解的相关包(不是spring的包)aspectjrt-1.6.7.jar和aspectjweaver-1.6.8.jar和aopalliance.jar

(注意这里最好是1.6.7以上的版本,不然容易出错,折腾了我好久,最后才发现是包的版本问题。

所以这里一定要注意,spring 2.0以后的最好是用1.6.7的版本)

二: 建一个class类作为切入面(这个只是用来演示而已,这个切面是拦截com.afmobi.service包下的所有类的所有方法)

package com.afmobi.frame;

import org.aspectj.lang.ProceedingJoinPoint;

import org.aspectj.lang.annotation.After;

import org.aspectj.lang.annotation.AfterReturning;

import org.aspectj.lang.annotation.AfterThrowing;

import org.aspectj.lang.annotation.Around;

import org.aspectj.lang.annotation.Aspect;

import org.aspectj.lang.annotation.Before;

import org.aspectj.lang.annotation.Pointcut;

import org.springframework.stereotype.Component;

@Aspect

@Component

public class AopLogTest {

@Pointcut("execution(* com.afmobi.service.*.*(..))")

public void anyMethod(){

}

@Before("anyMethod()")

public void before() {

System.out.println("---Aop 的 前置通知---");

}

@AfterReturning("anyMethod()")

public void doAfter(){

System.out.println("---Aop 的 后置通知---");

}

@After("anyMethod()")

public void after(){

System.out.println("---Aop 的最终通知(发生异常也会通知)---");

}

@AfterThrowing("anyMethod()")

public void doAfterThrow(){

System.out.println("---Aop 的抛出异常通知---");

}

@Around("anyMethod()")

public Object doBasicProfiling(ProceedingJoinPoint pjp) throws Throwable{

System.out.println("---Aop 的 环绕通知 通知---");

Object object = pjp.proceed();//执行该方法

return object;

}

}

三: 在spring的配置文件里配置这个切面类(这里按spring AOP注解的方式配置,不是xml的方式):

<context:annotation-config /><!-- 注解方式管理bean -->

<context:component-scan base-package="com.afmobi.service" /><!-- 使用spring全注解扫描services层 -->

<bean id="aopLogTest" class="com.afmobi.frame.AopLogTest" /><!-- 定义切面类由spring容器管理 -->

<aop:aspectj-autoproxy/><!-- 配置使用AOP注解方式 -->

注意:核心AOP注解配置就是<bean id="aopLogTest" class="com.afmobi.frame.AopLogTest" />和<aop:aspectj-autoproxy/>

到此就ok了。

时间: 2024-10-06 13:24:32

Spring AOP 注解配置实例的相关文章

spring Aop注解配置

①<!-- 启用AOP --> <aop:aspectj-autoproxy></aop:aspectj-autoproxy> ②<!-- 配置扫描标注注解的包 --> <context:component-scan base-package="com.tz.spring.dao,com.tz.spring.service,com.tz.spring.advice"></context:component-scan>

spring+hibernate注解配置实例

简单的spring3.2.9和hibernate3的集成配置,有demo供下载.shTest下载 第一步 jdbc.properties配置 driverClassName=com.mysql.jdbc.Driver url=jdbc\:mysql\://localhost\:3306/shtest username=root password=123456 prototypeCount=1 maxActive=100 houseKeepingSleepTime=60000 minimumCon

Spring AOP—注解配置方法的使用

Spring除了支持Schema方式配置AOP,还支持注解方式:使用@AspectJ风格的切面声明. 1 启用对@AspectJ的支持 Spring默认不支持@AspectJ风格的切面声明,为了支持需要使用如下配置: 这样Spring就能发现@AspectJ风格的切面并且将切面应用到目标对象. 2 声明切面 @AspectJ风格的声明切面非常简单,使用@Aspect注解进行声明: 然后将该切面在配置文件中声明为Bean后,Spring就能自动识别并进行AOP方面的配置: 该切面就是一个POJO,

spring AOP 注解配置

applicationContext-resource.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:/

Spring MVC注解配置结合Hibernate的入门教程及其代码实例

原文:Spring MVC注解配置结合Hibernate的入门教程及其代码实例 源代码下载地址:http://www.zuidaima.com/share/1787210045197312.htm 1.概述 本文旨在搭建Spring MVC+Hibernate开发框架,通过一个简单的demo讲解Spring MVC的相关配置文件,以及通过注解方式实现简单功能. 开发框架:Spring+Spring MVC+Hibernate(Spring所用的版本为3.0.5). 数据库:MySQL(数据库名称

AOP注解配置

1.--------AOP注解配置---------- (1)在spring配置文件中启用AOP注解 <aop:aspectj-autoproxy/> (2)编写切面组件,使用以下注解定义切入点,通知等 @Aspect : 将当前类指定为切面组件 @Pointcut : 定义切入点 @Around("切入点引用") @Before("切入点引用") @After("切入点引用") @AfterReturning(pointcut=&q

Spring AOP注解通过@Autowired,@Resource,@Qualifier,@PostConstruct,@PreDestroy注入属性的配置文件详解

原创整理不易,转载请注明出处:Spring AOP注解通过@Autowired,@Resource,@Qualifier,@PostConstruct,@PreDestroy注入属性的配置文件详解 代码下载地址:http://www.zuidaima.com/share/1772661373422592.htm 本文介绍了使用Spring注解注入属性的方法.使用注解以前,注入属性通过类以及配置文件来实现.现在,注入属性可以通过引入@Autowired注解,或者@Resource,@Qualifi

spring aop简单日志实例

转载自:http://www.blogjava.net/laoding/articles/242611.html 一直就用spring的IOC,遗憾spring的另一重要组成部分AOP却没用过,所以近几天抽空研究了下AOP,学了些东西,在这里记录下spring2.0的aop配置,以一个简单的记录日志的实例来说明,先介绍下用XMLSchema来配置,下一篇介绍annotation配置,废话不多说,开始吧先新建个web工程,将spring的包加进去,为方便就把全部的jar包加进去. 先来看个接口,很

Spring 模拟注解开发实例

1.注解开发无需导入全新的jar包 l使用注解功能需要导入Spring核心jar包 ?核心jar包(6个) ?spring-beans-3.2.0.RELEASE.jar ?spring-context-3.2.0.RELEASE.jar ?spring-core-3.2.0.RELEASE.jar ?spring-expression-3.2.0.RELEASE.jar ?commons-logging-1.1.1.jar ?log4j-1.2.15.jar 2.使用注解开发必须开启命名空间c