很久没用spring就简单回顾一下,结果总是报错。希望哪位老哥帮我看一下,
错误代码如下:
** 这是Aspect类**
package com.m78.spring.a_aop.anno;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;
@Aspect
@Component
public class MyAspect {
//声明公共切入点
@Pointcut("execution(* com.m78.spring.a_aop.anno.*.*(..))")
private void myPointCut(){
System.out.println("这是切入点");
}
@Before("myPointCut()")
public void before(JoinPoint joinPoint) {
System.out.println("这是前置方法");
}
public void afterReturning() {
System.out.println("这是后置");
}
public void around() {
System.out.println("这是环绕通知");
}
public void afterTrowing() {
System.out.println("这是异常通知");
}
public void after() {
System.out.println("这是最终通知");
}
}
**这是service**
public interface UserService {
public void addUser();
}
这是serviceimpl
@Service("userService")
public class UserServiceImpl implements UserService {
@Override
public void addUser() {
System.out.println("this my spring_abspectJ_aop.annos");
}
}
**这是main方法**
public class MyTest {
public static void main(String[] args) {
String xmlPath="com/m78/spring/a_aop/anno/applicationContext.xml";
@SuppressWarnings("resource")
ApplicationContext applicationContext=new ClassPathXmlApplicationContext(xmlPath);
UserService userService=(UserService)applicationContext.getBean("userService");
userService.addUser();
}
}
这是xml配置
这是jar包
这种情况是缺少OrderUtils类,你找找是少jar呢还是项目缓存问题
首先断点打一下看看userservice是不是为空,如果为空的话,说明根本没有注入到spring容器中,那么就会报错误bean的问题,还有一个问题就是sstatic方法调用非static方法,通过类对象来调用
有这个类的话,看看是不是重复引入了不同版本的jar或者jar冲突。
org.springframework.core.annotation.OrderUtils这个类没找到,为什么呢,因为你spring-core核心包和spring-aop包版本不一致,所以,你只需要将spring的各个包版本统一一下就完了。
为什么要用不同的包呢。
https://mvnrepository.com/
上这个仓库去下同版本的包吧