Spring核心组件
Posted 邵鸿鑫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring核心组件相关的知识,希望对你有一定的参考价值。
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核心组件的主要内容,如果未能解决你的问题,请参考以下文章
对 Spring 的核心(AOP 和 IOC)的理解(大白话)