java spring aop 注解包_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的方式):
注意:核心AOP注解配置就是和
到此就ok了。
java spring aop 注解包_Spring AOP 注解配置实例相关推荐
- SSH深度历险(十一) AOP原理及相关概念学习+xml配置实例(对照注解方式的优缺点)...
接上一篇 SSH深度历险(十) AOP原理及相关概念学习+AspectJ注解方式配置spring AOP,本篇我们主要是来学习使用配置XML实现AOP 本文採用强制的CGLB代理方式 Security ...
- java spring多数据源配置文件_基于注解实现SpringBoot多数据源配置
1.功能介绍 在实际的开发中,同一个项目中使用多个数据源是很常见的场景.最近在学习的过程中使用注解的方式实现了一个Springboot项目多数据源的功能.具体实现方式如下. 2.在applicatio ...
- spring之aspects包、aop包和aspectj包的简单梳理
稀里糊涂的分不清这三个包的关系到底是什么,因此查了一下写篇总结. 1.aop包本身具有完整的AOP实现,但是只会使用Cglib或者JDK动态代理,在类加载时通过动态代理织入(补充一句:spring容器 ...
- java spring 传大数据类型_Spring MVC前后端数据交互总结
控制器 作为控制器,大体的作用是作为V端的数据接收并且交给M层去处理,然后负责管理V的跳转.SpringMVC的作用不外乎就是如此,主要分为:接收表单或者请求的值,定义过滤器,跳转页面:其实就是ser ...
- java如何实现配置文件动态刷新_Spring Cloud 动态刷新配置信息教程详解
有时候在配置中心有些参数是需要修改的,这时候如何不重启而达到实时生效的效果呢? 添加依赖 ... org.springframework.boot spring-boot-starter-actuat ...
- java aop注解拦截_Spring AOP 拦截指定注解标识的类或方法
代码Demo @Aspect @Component @Order(10) public class BidAuthorityProxy { /** * 扫描指定包下的类中使用@EnableRoleAu ...
- java spring 面向切面编程_Spring Boot实战系列(3)AOP面向切面编程
AOP是一种与语言无关的程序思想.编程范式.项目业务逻辑中,将通用的模块以水平切割的方式进行分离统一处理,常用于日志.权限控制.异常处理等业务中. 快速导航 编程范式主要以下几大类 AOP(Aspec ...
- java常用注解汇总_Spring常用注解汇总
概述 注释配置相对于 XML 配置具有很多的优势: 它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作.如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO ...
- java aop性能检测_Spring AOP 性能监控器
spring,真是一个好东西:性能,真是个让人头疼又不得不面对的问题.如何排查出项目中性能瓶颈?如何迅速定位系统的慢查询?在这我就不说spring自带的性能监控器了,实在是有些简陋.下面就说说我自己写 ...
最新文章
- Java中AudioFileStream_AudioFileStream学习
- Request header field token is not allowed by Access-Control-Allow-Headers in
- Document Builder: replace variable guid in merge
- blockUI应用到Asp.Net页面时服务器控件(Button等)失效的问题
- Fatal error: Class 'ZipArchive' not found的解决办法
- 2010年的最后一天,我又辞工(日记)
- Atitit httpclient 概述 rest接口 目录 1. Httpclient 利用http协议的client类库与技术方法	1 2. 功能用途 why	2 2.1. 上传下载文件	2
- 路由器刷机教程图解_路由器变砖怎么办救活成功修复TFTP详细图文教程
- 【Android】ListView刷新、加载
- php 死链查询,网站最新死链查询和处理方法
- python读取odb_abaqus通过python从ODB中抽取模型数据和结果数据.pdf
- smss,lsass, http://laji.xrlyy.com病毒处理
- su VS sudo
- 平面设计分析之图形创意解析
- 渐渐逝去的青春---老男孩
- 思科模拟器CISCO/华为模拟器ENSP配置一个完整的校园网(网络安全、数据冗余)
- 类文件解析003-解析常量池
- 小米mix2s支持html,小米MIX2S支持无线充电吗?米粉欢呼!
- mysql8.0下载 windows64位
- 边缘保留滤波(EPF)
热门文章
- 光端机的原理和使用范围
- 【渝粤教育】国家开放大学2018年春季 8634-21TAndroid智能手机编程 参考试题
- 【渝粤教育】国家开放大学2018年春季 8659-22T计算机平面设计(1)(2) 参考试题
- ZigBee网络角色 拓扑结构 无线模块组网典型应用
- tcp java实例_实现了基于TCP的Java Socket编程实例代码
- 【模式识别】K均值聚类算法应用实验报告及MATLAB仿真
- 6000毫安以上智能手机_三星超长续航神机,6000毫安+128GB,上市半年不到跌至1499...
- doctrine find的对象转换成数组_「ES6基础」Array数组的新方法(上)
- 低版本mysql utf8mb5_记住:永远不要在 MySQL 中使用 UTF-8
- mysql+表中公共信息,計算mysql中兩個表之間的公共行數