当前位置: 首页 > 知识库问答 >
问题:

Spring AOP:无法将类型从>classname

乜飞航
2023-03-14

我正在开发一个Spring MVC web应用程序,并试图为特定的方法设置一个AOP包装器。在aop-config.xml中有以下内容:

<bean name="callCatcher" class="com.business.project.aop.callCatcher"/>

<aop:config proxy-target-class="true">
    <aop:pointcut expression="execution(* com.business.project.util.className.methodName(..))" id="catchCall"/>
    <aop:advisor advice-ref="callCatcher"  pointcut-ref="catchCall"/>
</aop:config>
<import resource="aop-config.xml"/>
Caused by: org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'com.business.project.util.className' to required type 'org.springframework.aop.Pointcut' for property 'pointcut'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [com.business.project.util.className] to required type [org.springframework.aop.Pointcut] for property 'pointcut': no matching editors or conversion strategy found
    at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:463)
    at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:494)
    at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:488)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1433)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1392)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1128)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
    ... 37 more
public class className implements ApplicationContextAware {...}
<?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"
       xsi:schemaLocation="
       http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
       http://www.springframework.org/schema/aop
       http://www.springframework.org/schema/aop/spring-aop-3.2.xsd">

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

    <bean name="callCatcher" class="com.business.project.aop.EditorActionLogger"/>

    <aop:config proxy-target-class="true">
        <aop:pointcut expression="execution(* com.business.project.util.className.methodNAme(..))" id="callCatcher"/>
        <aop:advisor advice-ref="editorActionLogger"  pointcut-ref="timeslotReloader"/>
    </aop:config>
</beans>

共有1个答案

贝自怡
2023-03-14

伙计,我想你得把

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

在servlet-config.xml而不是aop-config.xml中,要在bean的相同上下文中使用AOP

 类似资料:
  • 我有使用JPA/Hibernate、MySQL的Spring boot项目。我有三个多对多关系的道类。 Poko类如下所示 产品 ProductExtra公司 额外的 包含查询的额外存储库 控制器中的映射 我试图进行多对多的查询来选择每个产品中的附加功能,但是我得到了这个错误错误消息令人惊讶地也包含我想要的结果。不确定我做错了什么

  • 我已经部署了一个CloudFirebase函数来更新一些聚合数据,但是我得到了 聚合收据评级:错误:无法从文件快照中的消防恢复值解码类型:{“integerValue”:“3”}。_decodeValue(/user_code/node_modules/Firebase-admin/node_modules/@google-Cloud/消防恢复/src/document.js:464: 15)在D

  • 我正在实现我自己的泛型链表类,它有一个名为的实例方法,该方法生成链表的数组副本并返回它。然而,每当我试图在实例上调用该方法时,我总是得到错误消息“sllist.this cannot be referenced from a static context”。我搜索了一下,有些人说这是因为我没有在实例上调用那个方法,但我确实调用了。 下面是类: 它有一些方法,如,它们都没有问题。 是我不断收到错误消

  • 找不到大小注释,我得到大小不能解析为类型。虽然添加了导入javax.validation.constraints.大小;,但我得到了这个错误。 导入javax。验证。限制。大小 导入lombok.数据; @data公共类UserCreateDTO{@size私有字符串firstName;私有字符串lastName; } 我在POM的依赖性。xml是:

  • 我正在使用graphql spring boot为spring boot项目中的graphql查询提供服务。现在,我正在将graphql方案类型定义与我的spring实体进行匹配。无论出于何种原因,我都会遇到以下错误: 以下是我对

  • 问题内容: 这是我写该行时的错误: /ChatApp/ViewController.swift:27:42:无法将“ ViewController”类型的值分配给“ UITextFieldDelegate”类型的值? 这是我的Swift代码(ViewerController.swift): 问题答案: 该生产线将导致错误,因为你尝试分配作为的。 但是,你 是不是 一个。为了使您的课程成为此类委托,