spring是目前最流行的框架之一,今天主要和大家共同研究一下spring的核心组件。spring总共有十几个组件,其真正核心组件为:core、context和bean。

这三个组件中bean尤为重要,因为spring是面向bean的编程。就像Java是面向对象的编程一样,bean对于spring来说就好比Java中的对象一样重要。在spring中如果没有bean也就没有spring存在的意义了。这就好比一次演出没有了演员,没有演员的演出还算什么演出。

spring解决了一个非常重要的问题,他可以把对象之间的依赖关系转移到配置文件中来管理,也就是我们常说的依赖注入。依赖注入需要在IOC容器中管理,这样做具体有什么好处呢?简单的举个例子:现在有两个对象A、B,如果A需要调用B中的方法,最常见的做法就是添加对B的引用,然后实例化出一个B对象(B b=new B)。显然这样做没有错,但是对于我们做软件高内聚低耦合来说,就不那么和谐了。这时候IOC就出现了,同样的前提下,A不在需要添加对B的引用了,而是由IOC容器在A需要的时候给A注入一个B对象,这样就大大减少了A的职责,同时也降低了系统耦合。spring正是通过把对象包装在Bean中从而达到管理这些对象以及做一系列额外操作的目的。

上面我们说到bean是spring的关键,那么context和core分别有什么作用呢?

我们知道bean包装的是object,而object中肯定要有数据,如何给这些数据提供生存环境就是context要解决的问题,对于context来说他就是要发现每个bean之间的关系,为他们建立起来并维护好这些关系。所以context就是一个bean关系的集合,这个关系集合就是我们常说的IOC容器。core组件就是发现、建立和维护每个bean之间的关系所需要的一些工具,把core叫做util更为贴切。

如果bean作为一场演出的演员,那么context就是这场演出的舞台背景,而core就是演出道具了。只有他们在一起共同合作才能具备演一场好戏的最基本条件。当然有最基本的条件并不能使这场戏脱颖而出,还需要它表演的节目足够精彩,这些节目就是spring能提供的特色功能了。

Spring核心组件相关推荐

  1. Spring核心组件的理解

    Spring框架的核心组件:Core.Context.Beans.其中最核心的组件就是Beans,最核心的功能就是BeanFactory. 文章目录 spring框架核心组件 spring框架核心组件 ...

  2. Spring核心组件详解(Bean、Context、Core)

    上篇文章介绍了Spring的有三个核心组件,它们为什么是Spring的核心组件,它们之间啥关系,都代表了啥角色. 下面将详细介绍每个组件内部类的层次关系,以及它们在运行时的时序顺序.我们在使用 Spr ...

  3. 面试官:关于Spring就问这13个

    1 Spring核心组件 一句话概括:Spring是一个轻量级.非入侵式的控制反转(IoC)和面向切面(AOP)的框架. Spring 版本 JDK版本 1.x 1.3:引入了动态代理机制,AOP 底 ...

  4. Spring框架入门

    目录 Spring框架概述 1.Spring框架组成 2.使用spring有什么好处 3.为什么使用spring框架 4.Spring快速入门 4.1Spring IoC底层实现原理 4.2下载Spr ...

  5. Spring源码剖析——Bean的配置与启动

    IOC介绍   相信大多数人在学习Spring时 IOC 和 Bean 算得上是最常听到的两个名词,IOC在学习Spring当中出现频率如此之高必然有其原因.如果我们做一个比喻的话,把Bean说成Sp ...

  6. 面试必备:Spring 面试 63 问!

    作者 | 夏目 blog.csdn.net/wuzhiwei549/article/details/122324261 Sping原理 Spring是一个轻量级Java开发框架,最早有Rod John ...

  7. Spring AOP示例教程 - Aspect,Advice,Pointcut,JoinPoint,Annotations,XML Configuration

    Spring AOP示例教程 - Aspect,Advice,Pointcut,JoinPoint,Annotations,XML Configuration Spring Framework是基于两 ...

  8. Spring核心知识点总结

    本文记录Spring全家桶核心知识点 文章目录 Spring总览 Spring IOC相关 Spring AOP相关 Spring总览 记录下spring总体相关的知识 题目 链接地址 Spring核 ...

  9. 关于Spring的几个问题

    本文来说下关于spring的几个常见问题. 文章目录 Spring核心组件 Spring 简介 Spring 组件 IOC 跟 AOP IOC Context AOP JDK 动态代理和 CGLIB ...

  10. Spring 框架 IOC 与 DI 的总结

    一:Spring并天下 1:Spring帝国: ①:Spring崛起 什么是Spring:源于Rod Johnson在其著作<Expert one on one J2EE design and ...

最新文章

  1. 如何打印网页版的发票_梦幻西游网页版:陷入瓶颈期,如何快速提升战力?氪金能解决问题...
  2. 前端防xss攻击(去掉空格等能影响和攻击数据库的字段)
  3. matlab中均线交易策略,【每日一策】Matlab量化交易策略之 均线选股策略
  4. 读取csv格式的数据
  5. ElasticSearch优化系列三:索引过程
  6. wxpython下载很慢_FAQ:在 Windows 使用 Python
  7. This time, ZTE has released the world‘s first
  8. Linux软件包管理之源码包、脚本安装包
  9. Illustrator2020中文版教程,如何在AI中使用蒙版来裁剪内容?
  10. 在windows 2008下面使用dynamipsgui
  11. Excel—“撤销工作表保护密码”的破解并获取原始密码
  12. 我的阿里面试经验分享给大家
  13. 11个能够帮助Java开发者提升编程能力的Java论坛汇总
  14. mysql数据库日志binlog保存时效(expire_logs_days)
  15. 搭建web服务端网络共享及实时备份(只能用堡垒机连接)
  16. Internet Download Manager v6.41Build 2简体中文版
  17. python进行基本的图像处理
  18. Notepad++ 正则规则
  19. java遍历map前n项_Java遍历Map的几种方式
  20. 数据结构实验九 下三角矩阵的压缩存储

热门文章

  1. logistic回归列线图(nomogram)的多种绘制方法
  2. 火车头伪原创php-火车头采集伪原创插件
  3. python dwg转图片_如何把cad转高清jpg图片?
  4. C++ Primer 第5版 练习5.14
  5. 微型计算机就是完全采用大规模集成电路,湖南工大计算机在线作业
  6. Java 运行环境安装(JRE JDK 区别)
  7. Egert实现五点连线(创意参考:网易爱的不同定义)[附源码]
  8. Matlab实现和使用神经网络的几种方式详细讲解--附代码可下载
  9. matlab实现神经网络算法,matlab神经网络训练函数
  10. xp计算机找不到音量调节,XP找不到音量控制程序怎么办