23、深入了解面向切面编程(AOP)及 AspectJ 工具

深入了解面向切面编程(AOP)及 AspectJ 工具

1. 开发与生产阶段的 AOP 应用

在开发和测试应用程序时,对传递给方法的值进行分析是很有必要的。很多系统中,当传递给方法的值超出预期时就会出现故障。通过对应用程序进行测试,可以分析传递给方法的值,获取最大值、最小值、最频繁值等信息,进而根据这些信息优化代码。

在应用程序的开发和测试阶段,某些类型的切面非常有用。但在生产环境中,由于切面可能会产生大量数据,可能需要移除或使其失效。不过,如果生产环境中出现问题,可以轻松地将切面重新添加到应用程序中,为生产支持团队提供更多信息。

生产环境中有两个重要的需求:日志记录和计时、授权。

1.1 日志记录和计时

在实现跟踪切面时,开发者能更好地理解应用程序的执行情况。用户在使用带有图形用户界面(GUI)的软件时,操作具有不确定性,当用户报告软件错误时,往往不清楚自己的操作。因此,生产代码中需要一定程度的日志记录。同时,对系统的关键区域进行计时,有助于确定它们在实际生产使用中的性能表现。

在传统开发环境中,日志记录通常通过创建日志类来实现,示例代码如下:

public class log {
    public log() {
        //open log file or connect to db
    }
    public void store(String msg) {
        // place msg in db or file
    }
}

应用程序启动时,会实例化一个日志对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值