Spring Aspect j

来源:互联网 发布:软件产品说明书范文 编辑:程序博客网 时间:2024/05/19 16:19
public interface ISomeService {    public void doSome();    public String dade();}

public class SomeService implements ISomeService {    //核心业务    public void doSome(){        System.out.println("我们都要找到Java开发工作,薪资6,7,8,9,10K");    }    public String dade() {        System.out.println("==================");        return "add";    }}


import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.*;/** * Created by QiuShao on 2017/7/31. */@Aspectpublic class MyAspect {    /*前置增强*/    @Before(value = "execution(* *..spring17.*.*(..))")    public void before(){        System.out.println("前置增强");    }    /*后置增强*/    @AfterReturning(value = "execution(* *..spring17.*.*(..))")    public void after(){        System.out.println("后置增强");    }    /*环绕增强*/    @Around(value = "execution(* *..spring17.*.*(..))")    public Object around(ProceedingJoinPoint proceed) throws Throwable {        System.out.println("环绕前");        Object result=proceed.proceed();        System.out.println("环绕后");        if(result!=null){           return result;            /*String str=(String)result;            return str.toUpperCase();*/        }else {            return null;        }    }}

配置文件

 


<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:aop="http://www.springframework.org/schema/aop"       xmlns:context="http://www.springframework.org/schema/context"       xmlns:p="http://www.springframework.org/schema/p"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xsi:schemaLocation="        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.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.xsd">    <!--01.目标对象-->    <bean id="someService" class="cn.bdqn.spring17.SomeService"></bean>    <!--02.增强 通知-->    <bean class="cn.bdqn.spring17.MyAspect"></bean>    <aop:aspectj-autoproxy/></beans>

 

单侧


 // aspectj 注解    @Test    public void test011(){        ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContextspring15.xml");        ISomeService service = (ISomeService) ctx.getBean("someService");        service.doSome();        String aa= service.dade();        System.out.println(aa);    }
原创粉丝点击