zoukankan      html  css  js  c++  java
  • 《Spring技术内幕》读书笔记

    简介:

    1.spring 与unix、window这些操作在计算机系统中起到的作用是类似的

    2.两大核心模块:IOCAOP

    3.为应用开发提供了许多现成的系统组件:事务处理、Web MV、JDBC、O/R映射、远程调用等,这些组件可以在开源软件和商业产品中自由选择,重复体现了Spring的开放性。

    第1章:Spring的设计理念和整体构架

    1.IOC(依赖反转)可以使原来的对象-对象关系,转化为对象-IOC容器-对象的关系

    2.Spring的设计理念:面向接口开发而不依赖于具体的产品实现

    3.Spring的构架图:

    4.Spring的价值、优点:

      1)是个非请侵入性框架,应用对框架依赖很小

      2)Spinrg提供了一致的编程模型,使应用直接使用POJO开发,使之与运行环境(应用服务器)隔离开来

      3)Spring推动应用的设计风格向面向对象及面向接口编程转变,提高了代码的重用性和可测试性

      4)Spring可以支持多个体系结构的选择,可以切换ORM工具,从struts切换到Spring MVC

    第2章 Spring Framework的核心:IoC容器的实现

    1. 为什么需要依赖反转:为了避免由自身实现对象依赖(创建对象的引用),所导致的代码高度耦合。

    2.实现方式:在Spring中,是通过IoC容器实现这个模式的

    3.什么是IOC:控制反转是关于一个对象如何获取它锁依赖的对象的引用,在这里,反转指的是责任的反转。

    4.哪些需要被反转控制:如果对面向对象系统中的对象进行简单分类,会发现除了一部分数据对象外,其它很大一部分对象是用来处理数据的(service、core、DAO)。这些对象并不常发生变化,是系统中基础的部分。同时,这些对象之间的相互依赖关系也比较稳定,适合由IOC容器来管理。

    5.和EJB的区别:Spring降低了对J2EE技术规范的依赖,更轻,更简单。

    6.通过IOC,可以使组件之间的关系更清晰,更便于管理,发生变化的时候,也不需要修改和编译Java源码,还可以结合OSGi实现热部署

    7.Ioc容器的设计与实现:围绕着BeanFactory和ApplicationContent

    8.IOC容器的启动过程:BeanDefinition的resouce定位、载入、注册

    9.IOC容器初始化和依赖注入是2个独立的过程,依赖注入一般发生在第一次向容器索取Bean的时候

    10.spring生成Bean有2种方式:反射、cglib。cgLib框架通过直接操作字节码,效率比较高

    第2章:Spring Framework的核心:IoC容器的实现

    1.IoC:依赖反转(依赖注入),依赖对象的获得被反转了。下面这段话解释了依赖注入的要义:

    “大部分应用都是由两个或多个类通过彼此的合作来实现业务逻辑 的,这使得每个对象都需要与其合作的对象( 也就是它所依赖的对象)的引用。 如果这个获取过程要靠自身实现, 那么如你见, 这将导致代码高度耦合并且难以测试。”

    2.两个重要接口:BeanFactory和ApplicationContext

     3.IoC容器的初始化过程:

      1)Resource定位

      2)BeanDefinition的载入

      3)注册这些BeanDefinition的过程:IoC容器把BeanDefinition注入到一个HashMap中去

    4.IoC容器的依赖注入,有2种实例化Java对象的方法,一种利用JVM的反射功能,另一种是通过cglib(字节码增强)

     第3章:Spring AOP的实现

    1.APO的实现:切面增强设计(Advice通知)、关注点的设计(Pointcut切点)、通知器(Advisor)

    2.其它内容略(第一次略读)

     第4章:Spring  MVC与Web环境

     第5章:数据库操作组件的实现

     第6章:Spring事务处理的实现

     第7章:Spring远端调用的实现

     第8章:安全框架ACEGI的设计与实现

     第9章:Spring DM模块的设计与实现

     第10章:Spring Flex的设计与实现

  • 相关阅读:
    天地图OGC WMTS服务规则
    【异常】VS中运行HTTP 无法注册URL
    【TextBox】重写右键菜单
    【ContextMenu】DataContext不自动更新
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
  • 原文地址:https://www.cnblogs.com/xujanus/p/9600120.html
Copyright © 2011-2022 走看看