<分区>
我正在使用 Spring 3.0 框架,但还是个新手。谁能用通俗易懂的语言向我解释什么是 AOP 编程? (一个简短的例子肯定会有所帮助)
Spring 如何合并/增强/支持它?
<分区>
我正在使用 Spring 3.0 框架,但还是个新手。谁能用通俗易懂的语言向我解释什么是 AOP 编程? (一个简短的例子肯定会有所帮助)
Spring 如何合并/增强/支持它?
最佳答案
AOP 是一种修改代码库中现有类以美化它们或根据单独定义的规则更改它们的行为的方法。这种修改可以在将类放入 jar/war 之前完成,也可以在加载代码时动态发生。
这个想法是,与其在源代码中找到所有你想修改的代码点并手动修改它们,不如定义规则来确定如何在代码库中找到感兴趣的点,以及你想要什么样的修饰对他们做。这些规则称为方面(AOP 的A)。
典型的例子是您想获得有关代码库中各种方法的一些计时信息。您可以找到所有感兴趣的方法并在顶部调用
long start = System.currentTimeMillis();
最后做
long end = System.currentTimeMillis();
System.out.println("Method time is: " + (end - start));
但那是:
您可以改为定义方面,说明您想要修改哪些方法,以及您想要在这些方法的开头和结尾处执行的操作。
当应用 AOP 时,无论是在创建 jar 时,还是在加载类时,就好像您最初以这种方式编写类一样。
关于java - 理解Spring AOP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5589319/