Spring的AOP使用实例

本文主要通过一些实例,一步步逐渐完善一个AOP的例子:
1.简单的AOP日志实现-某方法之前的前后记录日志;
2.简单的AOP日志实现-需要记录方法的运行时间;
3.简单的AOP日志实现-增加检查订单功能;

以上这些例子的AOP相关的配置均使用XML配置实现,bean的配置均使用Java代码实现,稍后会给出AOP注解配置的实现方案。

1.某方法之前的前后记录日志

(1)entity

蛋糕类:仅仅有name属性和get、set方法。

package spring.ch3.topic1;

/**
 * Created by louyuting on 17/1/20.
 * 注入属性,记得属性必须要写setter方法  不然就会抛出异常,注入失败.
 */
public class Cake {
   
    private String name = "";

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

烤炉类:

package spring.ch3.topic1;

/**
 * Created by louyuting on 17/1/21.
 */
public class Oven {
   
    private String name = "";

    @Override
    public String toString() {
        return name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

厨师类:厨师类里面有使用的烤炉类以及做的蛋糕类。厨师类里面只加了一个额外方法,就是制作一个蛋糕的方法。

package spring.ch3.topic1;

/**
 * Created by louyuting on 17/1/20.
 */
public class Chief {
   
    private static int index = 0;

    public static int getIndex() {
        return index;
    }

    public static void setIndex(int index) {
        Chief.index = index;
    }

    private Cake cake = null;
    private Oven oven = null;

    private final int id = index++;
    private String name = "";

    public Cake getCake() {
        return cake;
    }

    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public Oven getOven() {
        return oven;
    }

    public void setCake(Cake cake) {
        this.cake = cake;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setOven(Oven oven) {
        this.oven = oven;
    }

    public void makeOneCake() {
        System.out.println(getName() + " make " + getCake().getName());
    }
}

日志类:

package spring.ch3.topic1;

/**
 * Created by louyuting on 17/1/24.
 */
public class Log {
   
    public void washOven() {
        System.out.println(
  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值