java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.con

配置目标对象

package cn.itcast.service;

public class UserServiceImpl implements UserService{

@Override
public void save() {
    System.out.println("保存用户");
}

@Override
public void delete() {
    System.out.println("删除用户");
}

@Override
public void update() {
    System.out.println("更新用户");
}

@Override
public void find() {
    System.out.println("查询用户");
}

}这里写代码片————————————————————————————————-

配置通知对象

package cn.itcast.d_springaop;

import org.aspectj.lang.ProceedingJoinPoint;

//通知类
public class MyAdvice {
    //前置通知
    //(目标方法运行之前调用)
    //后置通知(如果出现异常不会调用)
    //(目标方法运行之后调用)
    //环绕通知
    //(目标方法运行之前和之后都调用)
    //异常拦截通知
    //(出现异常就会调用)
    //后置通知(无论是否出现异常都会调用)
    //(目标方法运行之后调用)
    //前置通知
    public void before(){
        System.out.println("这是前置通知");
    }
    //后置通知
    public void afterReturning(){
        System.out.println("这是后置通知(如果出现异常不会调用");
    }
    //环绕通知
    public Object around(ProceedingJoinPoint pjp) throws Throwable{
        System.out.println("这是环绕通知之前!!!!!!!");
        Object proceed = pjp.proceed();//调用目标方法
        System.out.println("这是环绕通知之后");
        return proceed;
    }
    //异常通知
    public void afterException(){
        System.out.println("出事了!出现异常");
    }
    public void after(){
        System.out.println("知识后置通知(出现异常也会条用)");
    }

}

配置applicationContext.xml

“`

Demo

package cn.itcast.d_springaop;

import javax.annotation.Resource;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import cn.itcast.bean.User;
import cn.itcast.service.UserService;

@RunWith(SpringJUnit4ClassRunner.class)//帮我们创建容器
//指定创建容器时使用那个配置文件
@ContextConfiguration(“classpath:cn/itcast/d_springaop/applicationContext.xml”)
public class Demo {
//将名为user的对象注入到u变量中
@Resource(name=”userService”)
private UserService us;
@Test
public void fun1(){

    us.save();


}

}


—————-这里写代码片

测试结果

log4j:WARN No appenders could be found for logger (org.springframework.test.context.junit4.SpringJUnit4ClassRunner).
log4j:WARN Please initialize the log4j system properly.
这是前置通知
这是环绕通知之前!!!!!!!
保存用户
知识后置通知(出现异常也会条用)
这是环绕通知之后
这是后置通知(如果出现异常不会调用

猜你喜欢

转载自blog.csdn.net/qq_42549835/article/details/82120113