码迷,mamicode.com
首页 > 编程语言 > 详细

spring框架之AspectJ的XML方式完成AOP的开发

时间:2018-12-17 16:06:34      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:release   eth   contex   http   runner   rda   context   junit   文件   

1. 步骤一:创建JavaWEB项目,引入具体的开发的jar包
    * 先引入Spring框架开发的基本开发包
    * 再引入Spring框架的AOP的开发包
        * spring的传统AOP的开发的包
            * spring-aop-4.2.4.RELEASE.jar
            * com.springsource.org.aopalliance-1.0.0.jar

        * aspectJ的开发包
            * com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar
            * spring-aspects-4.2.4.RELEASE.jar

2. 步骤二:创建Spring的配置文件,引入具体的AOP的schema约束
    <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.xsd
            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">

3. 步骤三:创建包结构,编写具体的接口和实现类
    * com.huida.demo2
        * CustomerDao           -- 接口
package com.huida.demo3;

public interface CustomerDao {

    public void save();
    public void update();
}
        * CustomerDaoImpl       -- 实现类
package com.huida.demo3;

public class CustomerDaoImpl implements CustomerDao{

    @Override
    public void save() {
        System.out.println("添加客户");    
    }
    @Override
    public void update() {
        System.out.println("更新客户");    
    }
}
4. 步骤四:将目标类配置到Spring中
    <bean id="customerDao" class="com.huida.demo3.CustomerDaoImpl"/>

5. 步骤五:定义切面类
    public class MyAspectXml {
        // 定义通知
        public void log(){
            System.out.println("记录日志...");
        }
    }

6. 步骤六:在配置文件中定义切面类
    <bean id="myAspectXml" class="com.huida.demo3.MyAspectXml"/>

7. 步骤七:在配置文件中完成aop的配置
    <aop:config>
        <!-- 引入切面类 -->
        <aop:aspect ref="myAspectXml">
            <!-- 定义通知类型:切面类的方法和切入点的表达式 -->
            <aop:before method="log" pointcut="execution(public * com.huida.demo3.CustomerDaoImpl.save(..))"/>
        </aop:aspect>
    </aop:config>

8. 完成测试
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration("classpath:applicationContext.xml")
    public class Demo3 {
        @Resource(name="customerDao")
        private CustomerDao customerDao;
        @Test
        public void run1(){
            customerDao.save();
            customerDao.update();
            customerDao.delete();
        }
    }
9.单元测试run1(),执行结果为:
技术分享图片

 

 

spring框架之AspectJ的XML方式完成AOP的开发

标签:release   eth   contex   http   runner   rda   context   junit   文件   

原文地址:https://www.cnblogs.com/wyhluckdog/p/10131626.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!