SSM框架学习14-基于注解的AOP开发

目录

1. 步骤

2.配置spring容器配置文件

3. 使用注解

4. 切点表达式的抽取


1. 步骤

2.配置spring容器配置文件

这里我们需要在配置文件中加上:

<!--组件扫描-->
    <context:component-scan base-package="com.dzy"/>

<!--    aop自动扫描-->
    <aop:aspectj-autoproxy/>

一个扫描所有的注解,另一个是识别到aop相关注解,开始自动的生成代理

3. 使用注解

首先我们准备好一个target类和切面类,

在target类中,我们需要将其创建bean:

@Component("tar")
public class Target implements TargetInterface {
    @Override
    public void save() {
        System.out.println("save is running...");
    }
}

采用@Component的方式创建我们的target bean,然后切面采用同样的方法,创建好bean之后,在对我们的切面进行注解,也就是告诉框架哪一个bean是切面的bean然后就是配置增强方法和对象:

@Component("aspect")
@Aspect//标注当前MyAspect是一个切面类
public class MyAspect {

    @Before("execution(* com.dzy.anno.*.*(..))")//方法类型加切点表达式注解在对应通知方法上即可
    public void before(){
        System.out.println("前置增强......");
    }
}

这里通知的注解规则如下:

 跟前面的xml方法配置类似,对切面里增强方法的编写要求是一样的。

4. 切点表达式的抽取

这里的mypoint方法就是我们抽取的切点表达式的方法,而具体的路径就是在这个方法上面加入一个@Pointcut注解,然后参数就是我们抽取出的切点表达式,到这这个抽取的方法就可以用了,在通知注解参数中直接引用方法就可以了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 1、基于JavaWEB+SSM+mysql框架构建的在线商城系统源码+数据库+项目说明(课程设计).zip 2、该资源包括项目的全部源码,下载可以直接使用! 3、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 4、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 # 小小商城系统 - SSM版 练手 JavaWEB 项目,本版本为SSM版。本项目实现了通用 Mapper,免写 SQL,全自动处理关联查询。通过合理配置 MyBatis Generator 和自定义插件,灵活隔离手写代码和自动生成代码。实现了 BaseService 类对 Service 层进行抽象。通过拦截器实现了方法级粒度的鉴权,通过AOP实现了参数校验。 --------------------------- **演示**:[https://small.ડ.com/][1] 可自行注册账号,或使用后台查看权限账号 demo 密码 demo (后台入口登陆后显示) 兄弟项目: [SSH版(实现SSM版95%功能)][3] [Servlet版(实现SSM版85%功能)][2] ---------------------------- 本项目的亮点: * 功能齐全,页面丰富,实现了小商城的大部分功能 * 前端仿天猫2017页面,基于原生 CSS(前台)、Bootstrap(后台)、Jquery、Bootstrap Js 构建 * 本项目为 Maven 项目,后端使用 Spring 4 + SpringMVC 4 + Mybatis 3.4 + aspectj 1.8 * 实现了一个 **通用mapper**,免写 SQL,可进行单表和多表关联查询,自动插入一对多/多对一对象(注解配置关联对象,结合 MyBatis Generator ) * 实现了一个 **BaseService 类** ,集成了多条件的查询和增改删操作,普通 Service 只需写少量代码即可 * 完全**隔离** MyBatis Generator 生成代码和额外手写代码,以支持可持续化部署,实现了**多个MyBatis Generator插件**,全部采用软删除 * 通过拦截器和自定义注解实现了方法级粒度的**用户鉴权** ,不同用户组权限完全隔离 * 通过 参数注解 进行方法级**数据校验**,无需额外配置校验类 (通过 AOP 切面实现) * 统一的错误处理 讲解文章: * [小小商城项目概述 —— 需求分析、数据表设计、原型设计、多层结构设计、项目规划][4] * [SSM开发 | 合理配置 mybatis-generator,隔离机器生成代码和额外增加代码][5] * [SSM开发 | 开发自定义插件,使 mybatis-generator 支持软删除][6] * [SSM开发 | 实现 Mybatis 的通用 Mapper,免写 SQL 自动处理关联查询 (类hibernate)(mybatis-generator+自定义插件+自定义注解+静态代理+泛型+反射)][7] * [SSM开发 | 配合Mybatis,通过泛型实现 BaseService ,抽象增改删查方法][8] * [SSM开发 | 配合自定义注解SpringMVC拦截器,实现 方法级粒度 用户鉴权][9] * [SSM开发 | 对 SpringMVC 传入参数 进行参数校验 (使用自定义AOP切面+自定义参数注解)][10] 功能: - [x] 首页、分类页、搜索页、产品页 - [x] 购物车页面、下单页、支付页及支付成功页 - [x] 我的订单页、确认收货及成功页、评价页 - [x] 登陆页、注册页 - [x] 全部数据库的后台可视化管理 - [x] 网站SEO设置、图片路径设置 ------------------ 安装使用: 1. 若使用IDE打开,需按 Maven 文件安装依赖 2. 若在Tomcat中部署,Maven文件中已经配置好直接在线部署,使用 maven tomcat7:deploy 可直接在线部署 (需先配置好Tomcat) 3. 导入数据库small.sql,在 \src\main\resources\jdbc.properties 中配置数据库 4. 默认后台地址 /admin ,账户密码为 admin 123456 ,新建用户在前台注册,需要后台权限需要在数据库的User表的group_列中将该用户的用户组设置为 superA

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值