springmvc项目Aop自定义注解

2023-10-28

springmvc项目Aop自定义注解

今日份敷衍
在mvc项目里写个aop自定义注解(因为没在配置文件里加入扫描跟开启aop搞了一天,简直浪费时间)
首先建两个文件如下
在这里插入图片描述
一个注解,一个aop
注解是上面那个,里面怎么写呢,如下

package com.esse.project.sys.annotation;

import java.lang.annotation.*;

@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface CostomBasicFilter {
}

上面基本都是固定的,要是里面要传参,可以在{}里加参数
aop里这样写

//省略import
@Aspect
@Component
public class ConstomBasicFilterAop {
	@Pointcut("@annotation(com.esse.project.sys.annotation.CostomBasicFilter)")
    public void basicAuthFilter() {
        System.out.println("1");
    }

    @Before(value= "basicAuthFilter()")
    public boolean doBefore() {
     	System.out.println("2");
    }

然后在要加入注解的接口,方法上加上注解

	@CostomBasicFilter//就是这一条
    @RequestMapping("/GetTaskLists")
    @ResponseBody
    public R getTaskLists() {
        System.out.print("成功了")
        return R.ok(number);
    }

好了,我们写好了自定义注解,但还没有结束
需要在配置文件里加入扫描
spring.xml里加入
在这里插入图片描述
表示扫描aop这个文件夹,把里面的类放到spring容器里进行管理
然后在spring-mvc.xml里加入
在这里插入图片描述
beans的xmlns也附在下面

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">

这样就可以啦
不知道要配置文件里加东西还是比较头疼的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

springmvc项目Aop自定义注解 的相关文章

  • 运行时 AOP 与编译时 AOP

    这两种AOP框架的优缺点是什么 我使用Unity作为我的aop框架 但我猜像postsharp这样的编译时aop框架可能比运行时aop框架有更好的性能 看起来运行时aop框架使用反射来实现注入 我不是 NET 人员 但我了解 Java 生态
  • Java Aspect 返回要在方法中使用的值

    我有一个 After运行某些逻辑的java方面 我需要它返回一个结果 一个对象 该结果可以在方面切入点拦截的方法中使用 是否可以 你需要的是 Around它允许您将想要的任何内容返回给建议的对象 Around com xyz myapp U
  • 通过spring AOP + Aspectj进行异常处理

    在我的项目中 我有一个域层 它基本上是 POJO 和一个位于域层之上的 Spring 控制器 服务层 我还有一个位于服务和域之间的 AOP 层 我的域层正在抛出业务异常 这些异常现在正在服务层中处理 但是我想更改它 以便从领域层抛出的异常将
  • 如何让 Spring @ControllerAdvice 与其他自定义 Spring @Aspect 一起工作?

    我有一个自定义记录器使用 Aspect我希望它总是最后运行 这样无论控制器返回什么响应 它都会被记录到数据库中 所以我放了一个 Order 1 在这方面 我还使用编写了一个错误处理程序 ControllerAdvice处理所有意外异常并返回
  • Spring AOP:将目标传递给 Aspect

    我想捕获实现类抛出的异常处理器界面 在方面 我需要访问处理器 这会引发异常 我定义了以下切入点 Pointcut target some package Processor args message public void processo
  • 如何在 Spring 中管理对象池?

    据我了解 在 Spring 中 所有对象默认都被视为单例 如果 singleton 设置为 false 则每个请求都会提供一个新对象 但是如果我想池化对象怎么办 假设设置范围从最少 1 到最多 10 个实例 使用 Spring 可以吗 池化
  • 使用 Spring 和 AspectJ 拦截私有方法

    我正在尝试使用 AspectJ 的加载时编织与 Spring Boot 和基于注释的配置在私有方法之前执行代码 并且我正在抓紧时间试图找出为什么我的方面没有被调用 我的简单方面如下 Aspect public class LoggingAs
  • 消除重复的 try/catch 代码

    编写必须一次又一次处理相同异常的代码总是很无聊 有没有一种方法可以在不使用try catch的情况下编写代码 并向方法添加属性来捕获 并处理 可能发生的各种异常 这听起来像 AOP Postsharp 这会是理想的解决方案吗 因此 我想编写
  • Spring AOP(方面)未执行

    我使用 Spring 2 5 6 asm 1 5 3 aspectjrt aspectjweaver 1 6 1 cglib 2 1 3 在我的基于 Web 的 Spring 应用程序中 我有以下类 package uk co txttoo
  • 面向方面编程(AOP)有哪些缺点?

    面向方面编程有哪些可能的和关键的缺点 例如 新手的神秘调试 可读性影响 我认为最大的问题是没人知道如何定义切面的语义 or 如何非程序地声明连接点 如果您无法独立于要嵌入的上下文来定义某个方面的功能 或者无法以不损害其嵌入的上下文的方式定义
  • AspectJ 加载时间编织不适用于 Spring beans

    我正在开发一个项目 该项目使用 Spring 配置的 Java 而不是 xml 风格来连接依赖项 它还具有分析逻辑 应通过 AspectJ 将其编织到所需的方法上 通过注释 设置正在运行 我可以看到我想要的包中的类正在编织 并且分析信息已从
  • @Aspect 方面的 Spring 自动装配 bean 为 null

    我有以下弹簧配置
  • 有人有 Postsharp 制作经验吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 Grails 中使用 AOP 不适用于服务

    我使用 Grails 2 2 3 并在 grails app conf spring resources groovy 中键入以下代码 beans xmlns aop http www springframework org schema
  • 为什么 Jersey 控制器未检测到我的方面(使用自定义注释)?

    我想在 Jersey 控制器上创建一个方面来测量服务执行所需的时间 我正在与我的切入点作斗争 因为它没有被检测到 而且我的方面永远不会启动 我尝试过使用很多切入点 例如 execution Monitor execution public
  • PostSharp 如何在运行时知道某个方面是否应用于方法?

    我正在实现 PostSharp 方面库 但无法找到以下问题的解决方案 假设我们有一个方面将应用于某些方法 而不会应用于其他方法 我需要某种可以在运行时使用的机制来了解某个方面是否应用于方法 具体来说 在运行时确定某些方面是否应用于由 a 给
  • 在尊重访问控制的同时为 REST API 序列化 SQLAlchemy 模型?

    目前 我们以及大多数 Web 框架的序列化工作方式是通过某种类型的方法调用将模型转储为某种类型的格式 在我们的例子中 我们有一个to dict 每个模型上构造并返回键值字典的方法 其中键是字段名称 值是实例变量 在我们的整个代码中 我们都有
  • 具有特定参数的 Spring AOP 切入点

    我需要创建一个我觉得很难描述的方面 所以让我指出一下想法 com x y 包 或任何子包 中的任何方法 一个方法参数是接口 javax portlet PortletRequest 的实现 该方法中可能有更多参数 它们可以是任何顺序 我需要
  • 运行 Spring 单元测试的 AOP 问题

    我有一个 Spring Web 应用程序 配置为使用 JDK 代理进行 AOP AOP 注解 例如 Transactional 在接口上声明 而不是在实现类上声明 应用程序本身工作正常 但当我运行单元测试时 它似乎尝试使用 CGLIB 来实
  • 如何使用spring AOP拦截所有带有@Repository注解的存储库类

    我试图拦截我的所有返回列表BaseRepostitary文件 这样我就可以找到列表中必须使用此解密的名称decrypt方法 以下是我的方面类 Aspect Service public class DecryptionAspect Afte

随机推荐

  • 云盘秒传原理

    什么是秒传 秒传是一种在网盘上常见的 忽略式 上传方式 比如您上传了一个文件名为aaa exe MD5为一个数 网盘上以前也有人上传一个叫aaa exe MD5和您上传的文件 MD5码一模一样 所以这个文件上传到服务器上的时间就很短了 这是
  • 监听滚动事件

    data return oldScrollTop 0 记录上一次滚动结束后的滚动距离 scrollTop 0 记录当前的滚动距离 scrollFixedStatus true watch scrollTop newValue oldValu
  • 我是计算机专业,技能一般,女生,大四,准备毕业设计,我想问是不是网站设计简单一些呢?

    做网站吧 前端都是使用的html js css的方式做的 主要的区别来自于后台 后台可以选择语言比较多 java python php asp其中php是最简单的 Php的环境搭建也简单 文件比较少 用php还不和java一样 java需要
  • vue封装——使用js高阶函数实现多条件搜索功能

    博主 小猫娃来啦 本文核心 vue封装 使用js高阶函数实现多条件搜索功能 目录 类比一下react写法 用vue写法来实现 思路 步骤 第一步 准备数据 第二步 根据数据结构渲染Dom 第三步 处理筛选条件 第四步 封装 开源地址 完整代
  • 区分自己安装的linux系统是支持 rpm文件包安装还是 deb文件安装的方式

    用以下两个命令查看 rpm version dpkg version 如果第一命令有打印出版本号就说明支持rpm 第二有打印出版本号就说明支持deb
  • 中兴交换机ZXR10-2950如何配置vlan、vlan分配ip及如何应用到端口

    1 创建vlan命令 set vlan 100 enable 2 删除vlan命令 set vlan 100 disenable 3 给vlan分配一个ip地址命令 先进入网络配置模式 config router set ipport 0
  • Stable Diffusion 系列教程

    目录 1 模型基本分类 1 1 CheckPoint 大模型 底模型 主模型 1 2 VAE美化模型 变分自编码器 1 3 HyperNetwork 超网络 1 4 embeddings Textual Inversion 嵌入式向量 1
  • 什么是【固件】?

    文章目录 一 软件 硬件 固件 二 BIOS Basic Input output System 三 百度百科的解释 四 固件的工作原理 五 应用 六 参考链接 一 软件 硬件 固件 通常我们会将硬件和软件分开看待 二者协同工作为我们提供计
  • 合流超几何函数_特殊函数之超几何函数

    继上一次更文特殊函数专场还是在去年国庆这篇推文特殊函数专场之贝塞尔函数 八一想了想还是再来一篇特殊函数精讲超几何函数 虽然我也不知道这玩意的实际意义在哪 就给它取名好玩的特殊函数 它可以用来搞积 也可以用来玩代数 同时在数理方程的应用是不可
  • failed with error: Get http://localhost:10248/healthz

    kubelet check It seems like the kubelet isn t running or healthy kubelet check The HTTP call equal to curl sSL http loca
  • Netty 源码分析系列(十八)一行简单的writeAndFlush都做了哪些事?

    系列文章目录 Netty 源码分析系列 一 Netty入门 Netty 源码分析系列 二 Netty 架构设计 Netty 源码分析系列 三 Channel详解 Netty 源码分析系列 四 ChannelHandler介绍 Netty 源
  • lnmp - 线上环境故障排查流程 - 学习/实践

    1 应用场景 主要用于线上环境故障排查 记录整个流程 从而可以按部推进 定位问题 从而解决问题 同时也是为解决问题提供一个流程标准 2 学习 操作 1 文档阅读 TBD 2 整理输出 环境 前端 Web 应用 或者 App 应用 后端 PH
  • SpringCloud最新版环境集成之eureka

    前言 本文依托于SpringCloud最新版环境集成 2021年11月 只介绍eureka环境搭建过程 在SpringCloud的使用过程中我总结为三步曲 引入spring cloud starter相应jar包 properties或ym
  • 多尺度特征的提取

    1 图像金字塔 将图片进行不同尺度的缩放 得到图像金字塔 然后对每层图片提取不同尺度的特征 得到特征图 一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低 且来源于同一张原始图的图像集合 其通过梯次向下采样获得 直到达到某个终止条件才
  • python线性回归模型_Python机器学习/LinearRegression(线性回归模型)(附源码)

    LinearRegression 线性回归 1 线性回归简介 线性回归定义 我个人的理解就是 线性回归算法就是一个使用线性函数作为模型框架 y w x b 并通过优化算法对训练数据进行训练 最终得出最优 全局最优解或局部最优 参数的过程 y
  • MPU6050的原理讲解

    主要讲解 1 加速度 2 陀螺仪 3 磁力计 本博主其实也是从别的资料上看的 然后觉得内容很好理解 于是决定在这分享出来 一 加速度计 标题 加速度计顾名思义 就是测量加速度的那么 我们如何认识这个加速度呢 在此用一个盒子形 状的立方体来做
  • Drools 6.5 :入门程序

    1 概念 2 为什么使用规则 3 入门 学习一样新东西的最好的方法就是尝试使用它 下面编写一个简单的 Drools 应用程序 首先 我们需要创建一个 Maven 工程 然后在其 pom xml 文件添加如下包依赖
  • JavaScript中eval方法的替代方法

    公司开设新的考核标准 着重对代码质量进行考核 用到的代码实时检测工具是sonaLint 用SonarLint进行代码检测的时候 会 出现对显示审查结果严重提示 Review the arguments of this eval to mak
  • 独立事件与非独立事件,条件概率

    1 独立事件与非独立事件 条件概率 1 0 说明例1的A B事件是非独立事件 因为 所以事件A B非独立 如果把木质 蓝 从7改成6 则有 因为 所以事件A B独立 1 1 条件概率 已知事件B发生的条件下事件A发生的概率称为事件A关于事件
  • springmvc项目Aop自定义注解

    springmvc项目Aop自定义注解 今日份敷衍 在mvc项目里写个aop自定义注解 因为没在配置文件里加入扫描跟开启aop搞了一天 简直浪费时间 首先建两个文件如下 一个注解 一个aop 注解是上面那个 里面怎么写呢 如下 packag