
下面,通过一个案例讲授如何通过Advisor的子接口进行Spring AOP开发,步骤如下所述。
创建项目,并导入相关依赖
在第10章项目依赖清单的基础上增加Spring-AOP依赖,具体如下:

创建接口
在src/main/java目录下创建一个名为spring.aop.demo.common.dao的包,并创建BookDao接口,代码如文件11-1所示。
【文件11-1】BookDao.java

创建接口的实现类
在spring.aop.demo.common.dao.impl包下创建BookDao接口的实现类BookDaoImpl,代码如文件11-2所示。
【文件11-2】BookDaoImpl.java

配置前置通知类
编写一个实现MethodBeforeAdvice接口的类,用以实现前置通知。通知的功能是在调用BookDao的方法前进行权限检查,代码如文件11-3所示。
【文件11-3】BookDaoBeforeAdvice.java

创建配置文件
在src/main/resources目录下创建配置文件aop-common.xml,使用Spring的org.springframework.aop.framework.ProxyFactoryBean类创建动态代理,代码如文件11-4所示。
【文件11-4】aop-common.xml

如文件11-4所示,第10~11行定义目标对象bookDao,第13~14行定义通知,第16~25行借助ProxyFactoryBean生成代理对象。根据目标对象的类型(是否实现了接口)自动选择使用 JDK 动态代理或 CGLIB 动态代理机制,为目标对象(bookDao)生成对应的代理对象(bookDaoProxy)。
编写测试代码
在src/test/java目录下创建测试类,读取配置文件并创建BookDaoImpl的代理对象,代码如下:


调用代理对象的方法(第10~11行),可见在调用目标类的方法前的增强效果,如图11-3所示。

■ 图11-3所有方法都被增强后的输出
实例讲解
Java Web程序设计实战

精彩回顾
下期预告
Spring MVC案例:设计一个简单的Web应用
拦截器案例:用户登录权限验证
参考书籍

↑↑↑点击上方图片查看图书详情↑↑↑
《Java Web程序设计与项目案例(微课视频版)》
ISBN:9787302625698
作者:郭煦
定价:59.90元

扫码优惠购书
内容简介
本书是一本以案例为基础的图书,非常适合具备一定Java基础的读者学习。 通过本书的学习,读者可以实现从Java Web入门级开发到运用Spring、Spring MVC和MyBatis三大框架进阶开发的跨越。
全书分为两部分,共有16章。
第一部分为Java Web开发基础,包括第1~7章。
第1章是概述,主要介绍Java Web开发的常用技术、概念和术语,以及HTTP概述等。
第2章是JSP,主要介绍JSP基础语法、运行原理和内置对象等。
第3章是Servlet,主要介绍Servlet基础、Servlet配置、Servlet常用接口、会话跟踪技术等。
第4章是EL和JSTL。
第5章是过滤器和监听器,主要介绍过滤器编程接口、监听器编程接口和应用案例。
第6章是JDBC,主要介绍JDBC常用API、JDBC综合案例和数据库连接池等。第7章是Web开发模型,主要介绍JavaBean技术、JSP开发模型、MVC设计模式和应用案例。
第二部分为Java Web开发框架,包括第8~16章。
第8章是MyBatis,主要介绍MyBatis简介及入门程序、MyBatis配置、MyBatis映射与综合案例、MyBatis关联映射、MyBatis缓存与动态SQL等。
第9章是MyBatis注解开发,主要介绍MyBatis基础注解、动态SQL注解和关联查询注解。
第10章是Spring IoC,主要介绍Spring概述、控制反转、Bean实例化、依赖注入、Bean的作用域、Spring的组件装配。
第11章是Spring AOP,主要介绍Spring AOP简介、Spring AOP开发基础、AspectJ AOP开发等。
第12章是Spring 数据库开发,主要介绍JdbcTemplate、JdbcTemplate的常用方法、Spring事务管理(基于XML方式和基于注解方式的事务管理)、Spring整合非关系数据库(Redis和MongoDB)。
第13章是Spring MVC基础,主要介绍Spring MVC简介、Spring MVC工作流程、Spring MVC功能组件、视图解析器等。
第14章是Spring MVC控制器,主要介绍控制器相关注解、请求映射、请求转发与重定向、数据绑定和JSON数据交互。
第15章是Spring MVC高级特性,主要介绍拦截器、异常处理和文件上传与下载。
第16章是SSM框架整合,结合后端项目案例,介绍基于XML方式整合和注解方式整合框架,并提供了Vue.js客户端和微信小程序客户端代码。
附录A~D以数字资源形式展示,分别介绍在Eclipse中配置Maven、MySQL的安装与设置、Vue.js客户端代码和微信小程序客户端代码。











