尝试使用Java Spring AOP时抛出“ org.springframework.beans”

我试图在我的IDE上获得一个简单的AOP示例。


下面是我的代码。


我在下面收到此错误。


请帮助我了解原因。


org.springframework.beans.factory.BeanCreationException:创建名称为“ org.springframework.context.event.internalEventListenerProcessor”的bean时出错:bean的初始化失败;嵌套的异常是java.lang.IllegalArgumentException:在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564)的切入点中:: 02正式未绑定的错误.jar:4.3.18.RELEASE]


AotSpringMain


@SpringBootApplication

public class AotSpringMain {


    public static void main(String[] args) {

        ApplicationContext ctx = SpringApplication.run(AotSpringMain.class, args);

        HumanFactory humanFactory = (HumanFactory)ctx.getBean("humanFactory");

        System.out.println(humanFactory.getFemale().getName());

        humanFactory.getFemale().setName("aaa");

        System.out.println(humanFactory.getFemale().getName());


    }

}

记录方面


@Aspect

@Component

public class LoggingAspect {


    @Before("execution(* com.my_aop_example.HumanFactory.*(..))")

    public void logBefore(JoinPoint joinPoint, Object result) {


        System.out.println("Log before start");

        System.out.println("Name: " + joinPoint.getSignature().getName());

        System.out.println("Log before end");


    }


}

人类工厂


package com.my_aop_example;



import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.beans.factory.annotation.Qualifier;

import org.springframework.stereotype.Service;


@Service

public class HumanFactory {

    @Autowired

    @Qualifier("Male")

    Human Male;

    @Autowired

    @Qualifier("Female")

    Human female;


    public Human getMale() {

        return Male;

    }


    public Human getFemale() {

        return female;

    }


忽然笑
浏览 221回答 1
1回答

泛舟湖上清波郎朗

没有参数 Object result  @Before("execution(* com.my_aop_example.HumanFactory.*(..))")  public void logBefore(JoinPoint joinPoint) {    System.out.println("Log before start");    System.out.println("Name: " + joinPoint.getSignature().getName());    System.out.println("Log before end");  }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java