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

  • 相关阅读:
    vim 源码分析
    Crontab无法自动执行,直接运行脚本却能执行
    chromium源代码下载(Win7x64+VS2013sp2, 39.0.2132.2)
    linux 环境变量设置方法总结(PATH/LD_LIBRARY_PATH)
    Linux 的源码安装工具 CheckInstall
    两个开源项目要搞定
    FreeRADIUS + MySQL 安装配置笔记
    Linux指令详解useradd groupadd passwd chpasswd chage 密码修改
    Github上的几个C++开源项目
    linux 中解析命令行参数(getopt_long用法)
  • 原文地址:https://www.cnblogs.com/potatoChicken/p/11479820.html
Copyright © 2011-2022 走看看