zoukankan      html  css  js  c++  java
  • spring添加通知配置

    在项目里添加的spring配置文件

    <bean id="beforeMethod" class="com.wxw.core.common.AdviceBefore"></bean>
       
        <bean id="pointcut" class="org.springframework.aop.support.JdkRegexpMethodPointcut">
            <property name="pattern" value=".*save"></property>
        </bean>
       
        <bean id="defaultBeand" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
            <property name="advice" ref="beforeMethod"></property>
            <property name="pattern" value=".*save"></property>
        </bean>

    AdviceBefore.java

    package com.wxw.core.common;

    import java.lang.reflect.Method;

    import org.springframework.aop.AfterReturningAdvice;
    import org.springframework.aop.MethodBeforeAdvice;

    public class AdviceBefore implements MethodBeforeAdvice,AfterReturningAdvice {

        @Override
        public void before(Method arg0, Object[] arg1, Object arg2)
                throws Throwable {
            System.out.println("开始.我了个去");
           
        }

        @Override
        public void afterReturning(Object returnValue, Method method,
                Object[] args, Object target) throws Throwable {
            System.out.println("结束.我了个去");
           
        }

    }

    测试类的方法:


    @Test
    public void saveStudent() throws Exception{
       
         ApplicationContext context =new ClassPathXmlApplicationContext("applicationContext.xml");
         StudentService studentService = (StudentService) context.getBean("studentServiceImpl");
         Student stu = new Student();
         stu.setStuName("小明");
         studentService.saveStudent(stu);
    }

    测试结果:

    image

    总结:最近一直在研究spring的一些特性,以前一直都是直接在配置文件里把别人配置好的代码直接复制过来,也没有深入研究过,导制很多问题都是不网上查一查解决,但是很多问题又很难理解其本质。自己配置并简单实现一下,能够理解其中的一些原理。这样更深刻的记住一些特性。比如,通过配置前后通知,就更容易理解spring能过配置,能够很容易的扩展spring提供的特性,并应用到自己项目里,增加了代码的可扩展性,也易于维护,通过对一步步来学习spring的一些特性,以后自己项目里添加spring便游刃有余。最后一点,实践最重要

  • 相关阅读:
    自动化测试-19-测试报告分离
    自动化测试-18-测试用例目录整合
    自动化测试-17-测试框架改进-浏览器Driver分离
    自动化测试-16-测试框架改进-数据分离openpyxl读取excel数据
    自动化测试-15-测试框架改进-yml文件介绍
    自动化测试-14-测试框架改进 --ini文件读取
    自动化测试-13- 自动化测试框架开发
    自动化测试-12-PO-PageObject原理
    自动化测试-11-pycharm中windows找不到chrome解决办法
    自动化测试-10-Python 文件操作中的读写模式:open(path, '-模式-',encoding='UTF-8')
  • 原文地址:https://www.cnblogs.com/wxwall/p/3194598.html
Copyright © 2011-2022 走看看