`

Spring 2.0 学习笔记(2)

阅读更多
看了这么多参考书,我认为还是良GG的解释比较精到,这可能也是人家是培训师的缘故。

       AOP和OOP有比较大的不通。OOP集中于对象的建模和行为的封装,而AOP考虑的是在流程上如何建模一个比较单独的功能。用OOP来构建一个核心系统是非常好的,但是,如果需要很多其他相关功能,这个时候AOP就有其用武之处了。

       AOP关注的Cross-cutting concerns, 从这些关注面中,我们抽取出一些可识别的Aspects,然后我们把这些Aspects具体设计为Advices,这些Advices根据我们的要求PointCut,将这些Advices具体Weave到应用的这些可以插入的JointPoint中去。
      
       这样子就非常好理解了。对应到Spring当中:

Aspects 的 具体设计 Advices,它对应到Spring当中,就是那些具体执行操作的类。比如说BeforeAdivce之类的这些表示Aspect的类。

PointCut就是一堆配置信息,它描述了有那些Advices使用到那些JointPoint当中去。它对应到Spring当中,就是对应的ProxyFactoryBean当中的配置信息。Weave就是ProxyFactoryBean,从名字上也知道它是一个代理工厂,生成原方法的代理对象,然后将Aspect定义的这些功能动态增加到对象中去。

JointPoint:其实就是插入点,一般对象在执行方法的时候可以被插入其他的功能。在Spring中,只支持在Method层次上进行插入,而不支持在Field层次上进行插入,因为这样的话实际上已经对对象的状态产生影响了,它连原来的对象都不是了,不适合用来构建应用系统。

       其实静态代理和动态代理的了解对Spring AOP的理解真的是有非常大的帮助,因为Spring AOP就是靠动态代理技术以及动态字节码生成技术来达到目标的:通过构建对象的代理对象来完成功能的插入。

       现在真的很佩服Spring。上次对Spring JDBC的分析,发现Spring对JDBC的理解绝对是非常准确到位,给开发人员提供了非常好的封装,尽量简化了对JDBC的编码。而Spring AOP,应用代理技术到事务管理上,完全可以让开发人员以声明式事务管理的方式将事务管理添加到应用中,简化了对事务的处理。
       Rod Johnson确实厉害啊。我觉得很有必要重新读一下Expert one on one
分享到:
评论

相关推荐

    spring2.0学习笔记

    转载关于spring2.0的学习笔记,希望对大家有所帮助

    Spring Security OAuth2.0学习笔记.zip

    Spring Security OAuth2.0学习笔记 什么是认证、授权、会话。 Java Servlet为支持http会话做了哪些事儿。 基于session认证机制的运作流程。 基于token认证机制的运作流程。 理解Spring Security的工作原理,Spring ...

    spring2.0学习笔记+spring定时任务

    NULL 博文链接:https://tw5566.iteye.com/blog/423883

    Spring2.0学习笔记

    1、ICO环境的搭建 2、属性注入 3、自定义属性编辑器 4、AOP实现 5、事务处理 6、Spring事务配置的五种方式 详解 7、Struts与Spring集成方案

    Spring 2.0核心技术学习笔记总结

    学习Spring 2.0时的笔记,辛苦整理与大家分享

    Spring2.0精简笔记

    此文档适用于初学者,初学者不必再为学习spring而做另一份笔记,借此以足够。

    超详细的Spring Boot入门笔记(总结)

    本篇文章主要介绍了超详细的Spring Boot入门笔记(总结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    2.0jpa查询学习笔记1

    一步一步学SpringDataJpa——JpaRepository查询功能 - CSDN博客https://blog.csdn.net/ming070423/a

    CXF的学习笔记

    有大量简单的 API 用来快速地构建代码优先的 Services,各种 Maven 的插件也使集成更加容易,支持 JAX-WS API ,支持 Spring 2.0 更加简化的 XML 配置方式,等等。支持二进制和遗留协议:CXF 的设计是一种可插拨的...

    Java/JavaEE 学习笔记

    Spring学习笔记...............345 第一章 Spring概述..........................345 第二章 Spring IOC(控制反转)........347 第三章 Spring AOP(面向切面编程)..........351 第四章 Spring中的数据访问.............

    java学习笔记.txt

    进入复审环节之前, Spring Boot 发生了重大的版本更苔,正式更新到了 2.x 的正式( GA )版本。为 了与时俱进,保证本书更有参考价值,我决定将本书采用的 Spring Boot 版本从最初定稿的 1.5.9 更新 到 2.0. 0。...

    springbot实战笔记整理.pdf

    springboot实战 笔记整理 包含sprinboot常用的注解 配置 自定义配置 springboot集成测试 actuator 部署 开发工具

    J2EE学习笔记(J2ee初学者必备手册)

    Spring学习笔记...............345 第一章 Spring概述..........................345 第二章 Spring IOC(控制反转)........347 第三章 Spring AOP(面向切面编程)..........351 第四章 Spring中的数据访问.............

    voa英语听力学习平台jsp版 v2.0.rar

    6、发布个人学习笔记,并对学习笔记进行维护;7、支付宝在线支付接口,实现在线购买服务功能;8、个人信息管理,个人界面方案维护;9、信息反馈及维护;10、JavaMail邮件发送功能实现。各功能模块的稳定性都经过了...

    SpringBoot学习笔记

    本资源是基于SpringBoot2.0版本的学习笔记,主要介绍了SpringBoot与SpringCloud的关系以及SpringBoot与SpringMVC的关系,以及各注解的使用情况

    SSH(Struts+spring+hibernate)整合资料

    java(1) 整合入门(spring,struts,hibernate的整合)资料(1) 中大软件工厂项目前培训资料(1) 完整笔记+源码(1) ssh(1) C#查询参数化例子(1) 学习笔记+完整源码(1) 介绍与深入(1) 学习笔记(不含整合)(1) C#(1) .CHM格式...

    AppFuse学习笔记(J2EE入门级框架)

    Appfuse是Matt Raible 开发的一个指导性的入门级J2EE框架,它对如何集成流行的Spring、Hibernate、iBatis、Struts、xDcolet、Junit、Taperstry、JSF等基础框架给出...AppFuse2.0重构了AppFuse1.0,转到Maven2和Jdk1.5。

    appfuse 学习笔记

    Appfuse 一个开放源码的项目和应用程序,帮助我们快速而高效的地开发。 Appfuse是Matt Raible 开发的一个指导性的入门级J2EE框架,它对如何集成流行的Spring、...AppFuse2.0重构了AppFuse1.0,转到Maven2和Jdk1.5。

Global site tag (gtag.js) - Google Analytics