zoukankan      html  css  js  c++  java
  • spring框架之读书笔记

    1.spring框架有哪些组件?

     

     比较重要的就是core组件、context组件、bean组件。

     有一个比喻很贴切的说明了三大基础组件之间的关系,bean是一个舞台剧演员,core就是舞台剧所需的道具,context就是舞台上除了道具之外的所有东西(舞台、幕布、灯光、音响之类的东西)。

    2.spring框架各个组件的实现机制?

    bean组件:主要的工作就是bean的定义、创建、注册,需要关注的就是创建。

    创建bean步骤:

    a.捋清楚bean的属性(默认的、用户自定义的)和方法(继承的、实现的),需要经过加载、解析、注册步骤

    b.捋清楚bean的依赖(bean与bean之间的关系),避免循环依赖报错

    c.通过FactoryBean 的getBean()创建对象,对象的各种判断策略(缓存、单例模式、依赖关系等)已在a.b捋清楚,不同的策略会走不同的逻辑

    创建完成,就在IOC中等待。

    core组件:把所需资源的加载、解析和资源的定义整合在一起便于其他组件使用

    将资源(创建bean需要的、框架需要的)通过加载、解析步骤,注入到context的AbstractApplicationContext对象中,AbstractApplicationContext是ApplicationContext 的实现类

    context组件:提供一个环境,保存各个对象的状态

    ApplicationContext 是 Context 的顶级父类

    总体来说 ApplicationContext 必须要完成以下几件事:

    -- 标识一个应用环境
    -- 利用 BeanFactory 创建 Bean 对象
    -- 保存对象关系表
    -- 能够捕获各种事件

    通过spring框架构建的项目基本要走这么一个流程,context把spring框架需要的各种属性或者行为通过面向对象的思想,抽象为一个个具体的对象,通过对象依赖把环境构建完成。

    通过三大组件,实现了spring ioc容器

    spring ioc:又称为控制反转,spring对bean的控制由被动变主动,既需要什么对象只要打上标记(依赖注入),spring ioc就会帮你注入。

    3.spring框架的相应组件为什么要那么实现?

    spring框架的一个套路就是面向对象,把各种属性和行为赋予给各种对象,通过对象去实现 

    4.spring框架的优缺点?

     优点:

    侵入性低,依赖注入

    扩展性好,支持面向切面编程、支持事务管理、支持WS、支持集成主流的持久层框架等

    耦合性低,mvc分层架构,诸多组件模块可以自由选择部分或者全部

    开发周期快,熟悉的情况下,spring对很对第三方都有集成,可以提高开发效率

     缺点:

     不支持分布式

    多配置繁琐

    学习成本高

    参考链接:
    https://www.ibm.com/developerworks/cn/java/j-lo-spring-principle/index.html

    https://www.cnblogs.com/xdp-gacl/p/3971367.html

  • 相关阅读:
    ConcurrentHashMap源码分析
    HashMap源码与相关面试题
    字符串学习笔记(三)---- StringBuilder
    字符串学习笔记(二)---- StringBuffer
    Vue一些基本操作技巧
    PHP代码及命名规范
    Js返回顶部的方法
    linux下镜像网站的几种方法
    单例模式示例
    工厂模式和IOC练习
  • 原文地址:https://www.cnblogs.com/potatoChicken/p/11479820.html
Copyright © 2011-2022 走看看