基于注解的 AOP 配置

  • bean.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://www.springframework.org/schema/aop"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><!-- 告知 spring,在创建容器时要扫描的包 --><context:component-scan base-package="cn.andyoung"></context:component-scan><!-- 开启 spring 对注解 AOP 的支持 --><aop:scoped-proxy></aop:scoped-proxy></beans>
  • java
@Component("logger")
@Aspect // 表明当前类是一个切面类
public class Logger {@Autowired private AccountServiceImpl accountService;/** 用于打印日志:计划让其在切入点方法执行之前执行(切入点方法就是业务层方法) */@Before("execution(* cn.andyoung.service.impl.*.*(..))")public void printLogBefore() {System.out.println("printLogBefore。。。");}@AfterReturning("execution(* cn.andyoung.service.impl.*.*(..))")public void printLogAfter() {System.out.println("printLogAfter。。。");}@Around("pt()") // )//注意:千万别忘了写括号public Object printLogAround(ProceedingJoinPoint pjp) {System.out.println("printLogAround。。。");// 定义返回值Object rtValue = null;try {// 获取方法执行所需的参数Object[] args = pjp.getArgs();// 前置通知:开启事务// beginTransaction();// 执行方法rtValue = pjp.proceed(args);// 后置通知:提交事务//  commit();} catch (Throwable e) {// 异常通知:回滚事务//  rollback();e.printStackTrace();} finally {// 最终通知:释放资源// release();}return rtValue;}@Pointcut("execution(* cn.andyoung.service.impl.*.*(..))")private void pt() {}
}

基于注解的 AOP 配置相关推荐

  1. 5、基于注解的AOP配置

    一.开启注解支持 1.概述 1.Spring AOP如同IoC一样支持基于XML和基于注解两种配置方式,基于注解所需的依赖和基于XML所需的依赖一致,其中spring-context包含了Spring ...

  2. Spring基于注解的AOP配置

    pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...

  3. java学习day40(Spring)spring中的aop和基于XML以及注解的AOP配置

    第1章 AOP 的相关概念[理解] 1.1AOP 概述 1.1.1 什么是 AOP AOP :全称是 Aspect Oriented Programming 即:面向切面编程. 简单的说它就是把我们程 ...

  4. 基于注解的 IOC 配置

    基于注解的 IOC 配置 学习基于注解的 IoC 配置,大家脑海里首先得有一个认知,即注解配置和 xml 配置要实现的功能都是一样 的,都是要降低程序间的耦合.只是配置的形式不一样. 关于实际的开发中 ...

  5. spring中基于XML的AOP配置步骤

    spring中基于XML的AOP配置步骤 IAccountService.java package com.itheima.service;/*** 账户的业务层接口*/ public interfa ...

  6. 基于注解的 IOC 配置——创建对象(Component、Controller、Service、Repository)注入数据(Autowired、Qualifier、Resource、Value)

    基于注解的 IOC 配置 注解配置和 xml 配置要实现的功能都是一样的,都是要降低程序间的耦合.只是配置的形式不一样. XML的配置: 用于创建对象的 用于注入数据的 用于改变作用范围的 生命周期相 ...

  7. spring 基于注解的控制器配置

    http://ttaale.iteye.com/blog/787586 spring 基于注解的控制器配置 博客分类: spring SpringBeanServletMVCWeb 13.12. 基于 ...

  8. 缓存初解(五)---SpringMVC基于注解的缓存配置--web应用实例

    之前为大家介绍了如何使用spring注解来进行缓存配置 (EHCache 和 OSCache)的简单的例子,详见 Spring基于注解的缓存配置--EHCache AND OSCache 现在介绍一下 ...

  9. 基于XML的AOP配置

    创建spring的配置文件并导入约束 此处要导入aop的约束 <?xml version="1.0" encoding="UTF-8"?> < ...

最新文章

  1. 2020 AI前沿交流大会 | 聚焦CV/NLP最新学术及工业界实践
  2. [转]C#异步编程的实现方式(1)——异步委托
  3. Android核心分析 之一分析方法论探讨之设计意图
  4. AI部署前路坎坷,50%项目半路夭折
  5. 西瓜书学习记录-神经网络(第五章)
  6. Metric Learning度量学习:**矩阵学习和图学习
  7. idea maven web工程明明添加了maven lib的依赖,但启动web容器时始终报No Class Found?...
  8. 在VS2013平台下如何快速解决c++代码内存泄漏问题
  9. 沫沫金::jqGrid插件-弹窗返回值
  10. 在linux系统中创建文件夹,Linux系统中创建文件夹命令详解
  11. 使用扩展欧几里得算法对逆元求解
  12. 系列课程 ElasticSearch 之第 9 篇 —— ELK (ElasticSearch、Logstash、Kibana)分布式日志收集和查看(完结)
  13. Excel在指定范围内匹配/查找文本(MATCH)
  14. python算法详解 张玲玲_Python算法详解
  15. c语言用户标识符不能描述常量,计算机等级二级C语言考试选择题库
  16. 今天准备出发去珠海横琴,去长隆海洋乐园看鲨鱼宝宝了
  17. 一个能测试怀孕的软件,四个方法测怀孕 准爆了
  18. nmap批量扫描(速度快)方法
  19. lamp +discuz+wordpress+phpmyadmin实例安装详解
  20. mybatis的primaryKey问题

热门文章

  1. Nature Genetics:微生物如何适应植物的?
  2. 我有个师兄,毕业后投身了学术自媒体行业
  3. 微生物组助手——最易学的扩增子、宏基因组分析流程
  4. 扩增子分析解读5物种注释,OTU表操作
  5. R语言使用ggplot2包和maps包可视化美国地图、使用北美犯罪率数据为不同区域的地图渲染(颜色深浅区分犯罪率高低、US map colored by violent crime rates)
  6. ggplot2可视化分面图(faceting)使用label_wrap_gen函数设置每个分面图的子图标题自动换行为多行文本(基于设定的当行宽度进行标题文本自动换行)
  7. R语言ggplot2可视化:使用堆叠的条形图(Stacked Barplot)可视化每个数据行(row)的缺失值的情况(Visualizing missing data counts in rows)
  8. Python使用过滤器(filter)进行图像模糊处理
  9. R语言dplyr包使用select函数通过索引查询或者排除数据列实战(Select Columns by Index)
  10. 什么是标签传播算法?为什么要使用标签传播算法?如何使用?