电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Spring提供俩种方式实现AOP

Spring提供俩种方式实现AOP_第1页
1/22
Spring提供俩种方式实现AOP_第2页
2/22
Spring提供俩种方式实现AOP_第3页
3/22
AOP 是 Aspect Oriented Programming 的缩写,意思是面对方面编程,一种新兴的编程技术。 AOP 实际是 GoF 设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦, AOP 可以说也是这种目标的一种实现。它可以解决 OOP 和过程化方法不能够很好解决的横切 (crosscut)问题, 如:事务、安全、日志等横切关注。当未来系统变得越来越复杂, 横切关注点就成为一个大问题的时候,AOP 就可以很轻松的解决横切关注点这个问题。 比如有这样一个情景: Java 代码 1. public class AccountManager { 2. private static final sysLogger = SystemLogger.getInstance(); 3. private AuthorizationManager authMgr = new AuthorizationManager(); 4. 5. public void transferFunds(String from, String to, int amount) { 6. sysLogger.log("transfer funds from " + from + " to " + to); 7. if(authMgr.accessAble(from) && authMgr.accessAble(to)) { 8. sysLogger.log("access successfully"); 9. CustomerAccount from = findAccount(from); 10. CustomerAccount to = findAccount(to); 11. from.debit(amount); 12. to.credit(amount); 13. } else { 14. sysLogger.log("access deny"); 15. } 16. sysLogger.log("transfer funds from " + from + " to " + to + " $" + amount + " successfully!"); 17. } 18. } 这个例子虽然是很好的面对对象代码,但是在业务处理逻辑中夹杂这日志处理和权限推断,变得复杂混乱. 在 AOP 中,正交关注点(如安全和日志记录)被识别为系统中的常见横切关注点。说它们是横切, 是因为它们总是切入模块(如包、类和代码文件)的多个单位。也许横切关注点可能不是核心业务逻辑的一部分,但是它们是应用程序的基本部分。 AOP 的实现主要是通过方法的拦截实现.在不使用 AOP 框架的情况下,我们可以通过 JDK 提供的动态代理来实现方法的拦截 注意:使用 JDK 提供的动态代理实现 要求我们的目标对象必须实现接口 IUserBean 接口 Java 代码 1. package .royzhou.aop; 2. 3. public interface IUserBean { 4. 5. public void getUser(); 6. 7. public void addUser(); 8. 9. public void updateUser(); 10. 11. public void deleteUser(); 12. } I...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

Spring提供俩种方式实现AOP

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部