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便游刃有余。最后一点,实践最重要

  • 相关阅读:
    7、【Linux系统编程】阻塞和非阻塞
    css样式
    如果目录不存在就创建
    api图片传输,转成64位字符串进行传输
    c#获取远程图片的方法
    分页
    使用微信js接口的方法 ,以调用相机为例
    某个文件下下面的文件批量改名
    查找本地文件中的特定字符串并替换代码
    第35月第6天 自定义view初始化
  • 原文地址:https://www.cnblogs.com/wxwall/p/3194598.html
Copyright © 2011-2022 走看看