`

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学习笔记+spring定时任务

    标题 "spring2.0学习笔记+spring定时任务" 暗示了我们即将探讨的是关于Spring框架2.0版本的学习心得以及如何在Spring中配置和使用定时任务。在这个主题下,我们将深入理解Spring的核心概念,特别是它在企业级Java...

    spring2.0学习笔记

    文档《Spring2.0学习笔记.doc》应该详细介绍了以上这些特性的使用方法和最佳实践,而《CodePub.Com说明.txt》可能包含了关于如何使用这些知识的一些说明或资源链接,便于读者更深入地学习和实践Spring 2.0。...

    Spring2.0学习笔记

    【Spring2.0学习笔记】 在深入探讨Spring2.0的知识点之前,首先理解几个核心概念至关重要。Spring框架的核心设计理念是控制反转(Inversion of Control, IoC)和依赖注入(Dependency Injection, DI)。IoC意味着...

    Spring Security OAuth2.0学习笔记.zip

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

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

    **Spring 2.0核心技术详解** Spring框架是Java企业级应用开发中的一个重要组成部分,自2.0版本发布以来,它引入了许多重要的改进和新特性,极大地提升了开发效率和应用程序的可维护性。以下是对Spring 2.0核心知识...

    Spring2.0精简笔记

    ### Spring2.0精简笔记知识点解析 #### 一、Spring基础知识 1. **Spring简介:** - **Spring框架**是一种轻量级Java开发框架,主要用来简化企业级应用的开发过程。它通过一系列的设计模式(如依赖注入DI、面向切...

    strust2.0学习笔记

    ### Struts2.0 学习笔记 #### 引言 Struts2 是一款非常流行的 Java Web 开发框架,它基于 Struts1 进行了重大的改进与优化,不仅继承了 Struts1 的优秀特性,还在此基础上进行了扩展,支持更加丰富的功能,如拦截...

    spring2.0宝典一书笔记

    Spring 2.0 宝典涵盖了 Spring 框架的核心概念和关键功能,包括低侵入式设计、依赖注入、BeanFactory 与 ApplicationContext、Web 应用支持、MVC 框架、面向切面编程以及持久化支持。这些内容不仅有助于理解和掌握 ...

    Struts2.0学习笔记.doc

    <constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory"/> <!-- ... --> <!-- ... --> <!-- ... --> <!-- ... --> ``` 通过以上步骤,我们就成功地...

    视频配套笔记_Spring Security OAuth2.0认证授权_v1.1.rar

    配合压缩包中的"配套笔记_Spring Security OAuth2.0认证授权_v1.1",读者可以详细学习如何在实际项目中设置这些组件,以及如何处理授权过程的每一个步骤。笔记可能涵盖了创建自定义授权服务器和资源服务器的配置,...

    尚学堂Spring学习笔记

    "尚学堂Spring学习笔记" 本文档记录了尚学堂Spring学习笔记的重要知识点,涵盖了Spring配置文件的设置、普通属性的注入、自定义属性编辑器、公共属性的注入、Spring注解等内容。 一、Spring配置文件的设置 在...

    DWR 2.0M3 学习笔记

    在DWR 2.0M3的学习笔记中,我们可以深入探讨以下几个关键知识点: 1. **DWR的基本原理**:DWR通过JSON或XML格式在浏览器与服务器之间传输数据,实现了AJAX(Asynchronous JavaScript and XML)的功能,但比传统的...

    Spring学习笔记之一“why spring”

    标题中的"Spring学习笔记之一“why spring”"表明了这篇笔记主要探讨的是Spring框架的核心价值和使用背景。在IT行业中,Spring是一个广泛使用的Java企业级应用开发框架,它以其依赖注入(Dependency Injection,DI)...

    Struts2.0培训笔记

    本培训笔记将深入探讨Struts2.0的核心概念、特性以及如何在实际项目中有效应用。 一、Struts2.0框架基础 Struts2.0是Apache软件基金会的项目,它是Struts1.x的升级版,提供了更强大的功能和更好的性能。该框架通过...

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

    超详细的Spring Boot入门笔记(总结) Spring Boot是Spring社区较新的一个项目,旨在帮助开发者更容易地创建基于Spring的应用程序和服务,让更多人的人更快地对Spring进行入门体验,让Java开发也能够实现Ruby on ...

    2.0jpa查询学习笔记1

    在本文中,我们将深入探讨Spring Data JPA中的JpaRepository查询功能。Spring Data JPA是Spring框架的一个模块,它简化了与Java Persistence API (JPA)的交互,提供了强大的数据访问抽象,使得数据库操作变得更加...

    struts2.0笔记(1)

    描述中的链接指向了iteye博客上的一篇关于Struts2.0的文章,可能涵盖了Action的创建、配置、结果映射、拦截器的使用以及Struts2与其他框架(如Hibernate、Spring)的集成等内容。这些内容对于理解和使用Struts2.0至...

Global site tag (gtag.js) - Google Analytics