Spring AOP(方面)未执行

2024-04-08

我使用 Spring 2.5.6、asm 1.5.3、aspectjrt/aspectjweaver 1.6.1、cglib 2.1_3 在我的基于 Web 的 Spring 应用程序中,我有以下类:

package uk.co.txttools.aspects;

@Aspect
public class LoggingAspect {
    @Before("execution(* uk.co.txttools.web.controller.compose.PreviewMessageController.set*(..))")
    public void setLoggingAdvice(){
        System.out.println("********************************* Advice run..... set mothod called....");
    }

    @AfterThrowing("execution(* uk.co.txttools.web.controller.compose.PreviewMessageController.onSubmit(..) throws java.lang.Exception)")
    public void hadleException(){
       System.out.println("================= PreviewMessageController =========== ON SUBMIT Exception Throwen ==================");
    }

    @Before("execution(* uk.co.txttools.web.controller.compose.PreviewMessageController.onSubmit(..) throws java.lang.Exception)")
    public void OnSubmitAspect(){
        System.out.println("================= PreviewMessageController =========== ON SUBMIT CALLED ==================");
    }
}

我有一个Controller:uk.co.txttools.web.controller.compose.PreviewMessageController which hasonSubmit()method, which get called from web page. I have separateapplicationContext.xml` 文件。

My springapp-servlet.xml(在带有 org.springframework.web.servlet.DispatcherServlet 的 web.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:util="http://www.springframework.org/schema/util"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
            http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd">

<aop:aspectj-autoproxy proxy-target-class="true" />

<bean id="loggingAspect" class="uk.co.txttools.aspects.LoggingAspect" />
.
.

下面在同一个 xml 文件中PreviewMessageController得到初始化这意味着我的控制器和方面生活是同一个容器。

我在运行应用程序时没有遇到任何异常,但我的方面类LoggingAspect永远不会被打电话。 我不确定缺少什么或者我做错了。 请帮我..

Thanks


我不确定我是否做得正确,但对我来说解决它的是添加@Component到“Aspect'ed”类 -

@Aspect
@Component
public class PerformanceLogger {

    private Logger logger = LoggerFactory.getLogger(this.getClass());

    @Around("within(com.something.rest.service..*)")
    public Object doBasicProfiling(ProceedingJoinPoint pjp) throws Throwable {
        long start = System.currentTimeMillis();
        Object retVal = pjp.proceed();
        long end = System.currentTimeMillis();
        logger.debug(pjp.getSignature().toShortString() + " Finish: " + (end - start) + "ms");
        return retVal;
    }
}

(只是为了关闭循环 - 如果您使用基于注释,请不要忘记添加@EnableAspectJAutoProxy到你的 Config 类。

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

Spring AOP(方面)未执行 的相关文章

随机推荐

  • 用于具有数字签名的 WSSecurity 的 SOAPHandler

    我正在尝试在 java 中创建一个 Soap 客户端 我必须使用我的私钥对 Soap 消息进行签名 我正在使用得到回复SoapUI with WS Security配置 我已导入 WSDL 并使用生成的类wsimport 我创建了一个SOA
  • 要安装 OpenType 字体,Windows 有哪些要求?

    利基编程问题 我正在通过字节制作来开发 OpenType 字体 而不是使用 Fontlab 或 FontForge 等设计工具 现在有一个自定义 OpenType CFF 字体 它实现了 Basic Latin unicode 块的子集 特
  • 让宏定义为函数返回值是不好的做法吗?

    使用定义为有条件返回值的宏有一个缺点 即仅查看客户端代码可能会在宏处退出 这一点并不明显 我正在考虑的用例是编写值和错误检查 如下所示 define WRITE CHK file param if write that returns ze
  • POST 请求中的 %5B 和 %5D 代表什么?

    我正在尝试编写一个Java 类来登录某个网站 登录的POST请求中发送的数据是 user 5Blogin 5D username user 5Bpassword 5D 123456 我很好奇是什么 5B and 5D意味着在钥匙用户登录 我
  • AWS Redis 从外部连接

    有没有办法从外部 AWS 网络连接 AWS 上托管的 Redis 实例 我有一个基于 Windows 的 EC2 实例在 AWS 上运行 另一个是 Redis 缓存节点 我知道有人问过这个问题 但答案是在基于 Linux 的系统中 但我的是
  • 在 PL/SQL 存储过程中拆分逗号分隔的字符串

    我有 CSV 字符串 100 01 200 02 300 03 我需要将其传递给 Oracle 中的 PL SQL 存储过程 在过程中 我需要将这些值插入表中的数字列中 为此 我从这里得到了一个工作方法 如何在 oracle 9i 中最好地
  • PHP MYSQL - 根据行号是否匹配行号填充 HTML 表编号行

    所以 基本上我正在尝试制作数据中心驾驶室图 我们有一个 Excel 电子表格 但它不容易更新 也不容易搜索 我的 MySQL 数据库中有三个表 数据库是 机架 表格是 机柜 设备和数据中心 每个表格中的每一行代表它是什么 机柜表有一列指定其
  • 如何中断无限循环

    虽然我知道这样问有点傻 但我仍然想更多地了解它的技术角度 无限循环的一个简单示例 public class LoopInfinite public static void main String args for System out pr
  • 使用 Iframe 的自定义用户代理

    是的 我已经读过使用不同的用户代理加载 iframe 内容 https stackoverflow com questions 12845445 load iframe content with different user agent但我
  • PhantomJS 在评估之前更改网页内容

    我想在评估 渲染网页之前删除 HTML 元素或简单地删除网页的前 N 个字符 有什么办法可以做到这一点吗 这取决于多种场景 我将仅概述以下问题的每种答案组合的步骤 是不是有一段JS叫做onload ol 或者脚本块立即被评估 ie 它是内联
  • 使用 JavaScript 进行地理位置定位

    我正在编写一个脚本来获取地理位置 纬度 经度 我可以使用它来将我的谷歌地图实例居中 目前我使用两种可能的技术 其一是google loader ClientLocation目的 我还没有测试过这个 因为它为我返回 null 我想是因为我不住
  • 使用内置显卡,没有NVIDIA显卡,可以使用CUDA和Caffe库吗?

    使用内置显卡 没有 NVIDIA 显卡 可以使用 CUDA 和 Caffe 库吗 我的操作系统是 ubuntu 15 CPU为 Intel i5 4670 3 40GHz 4核 内存为12 0GB 我想开始学习深度学习 CUDA 适用于 N
  • 如果分析器不是答案,我们还有什么其他选择?

    看完Joshua Bloch的演讲 绩效焦虑 后 我读了他在演讲中建议的论文 评估 Java 分析器的准确性 http www plan cs colorado edu klipto mytkowicz pldi10 pdf 引用结论 我们
  • 将 Oracle 日期解析为 Java

    我正在查询数据库并获取格式为 01 SEP 22 的日期 我想在Java中将此日期转换为 yyyy MM dd 格式 我有什么办法可以做到这一点吗 java time 我建议您使用 java time 现代 Java 日期和时间 API 来
  • 如果 $(window).load() 已弃用,我应该使用什么?

    我需要一个在页面完全加载 文本 图像等 时调用的函数 我注意到 window load 现已弃用 那么 我应该使用什么 如果你想避免load函数 使用泛型on功能 window on load function insert code he
  • Drupal 中表的节点引用

    I have Drupal with CCK I have a content type named Article This Article has 5 Node references I m using the table field
  • 如何仅在筛选记录上使用 power bi 中的 MAX 函数?

    我试图选择具有最新日期的记录 数据库中的所有记录都有这些基本列 AssetNumber WorkOrderNumber ScheduledEndDate Department 我想查找特定部门中每项资产的所有最新工单 日期 我有一个基本的措
  • 具有引用数据成员的类的默认构造函数?

    我有课MyClass我需要在其中创建一个std array of std vector在默认构造函数中 但是 此类有一个数据成员 它是一个引用 类型为Something 它也需要在构造函数中初始化 但我无法在默认构造函数中执行此操作 我应该
  • 在 .NET 中,调用 .Count() 更好,还是调用 .Count(如果可用)更好?

    导入 Linq 命名空间后 可以同时使用 Count 和 Count 例如 在实现 IList 的对象上 Count 将调用 Count 属性 如果可用 如下所示 C Count 扩展方法性能 https stackoverflow com
  • 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