Spring最核心的功能是什么?使用Spring框架的最核心的原因是什么?

转载 2015年11月17日 22:30:15

quote:Spring最核心的功能是什么?使用Spring框架的最核心的原因是什么? (IT公司面试手册,可以多看看)


Spring 框架中核心组件有三个:Core、Context 和 Beans。其中最核心的组件就是Beans, Spring提供的最核心的功能就是Bean Factory。

Spring 解决了的最核心的问题就是把对象之间的依赖关系转为用配置文件来管理,也就是Spring的依赖注入机制。这个注入机制是在Ioc 容器中进行管理的。

Bean 组件是在 Spring 的 org.springframework.beans 包下。这个包主要解决了如下功能:Bean 的定义、Bean 的创建以及对 Bean 的解析。对 Spring 的使用者来说唯一需要关心的就是 Bean 的创建,其他两个由 Spring 内部机制完成。 Spring Bean 的创建采用典型的工厂模式,他的顶级接口是 BeanFactory。

BeanFactory 有三个子类:ListableBeanFactory、HierarchicalBeanFactory 和 AutowireCapableBeanFactory。但是从上图中我们可以发现最终的默认实现类是 DefaultListableBeanFactory,他实现了所有的接口。那为何要定义这么多层次的接口呢?查阅这些接口的源码和说明发现,每个接口都有他使用的场合,它主要是为了区分在 Spring 内部在操作过程中对象的传递和转化过程中,对对象的数据访问所做的限制。例如 ListableBeanFactory 接口表示这些 Bean 是可列表的,而 HierarchicalBeanFactory 表示的是这些 Bean 是有继承关系的,也就是每个 Bean 有可能有父 Bean。AutowireCapableBeanFactory 接口定义 Bean 的自动装配规则。这四个接口共同定义了 Bean 的集合、Bean 之间的关系、以及 Bean 行为。

Bean 的定义就是完整的描述了在 Spring 的配置文件中你定义的 <bean/> 节点中所有的信息,包括各种子节点。当 Spring 成功解析你定义的一个 <bean/> 节点后,在 Spring 的内部他就被转化成 BeanDefinition 对象。以后所有的操作都是对这个对象完成的。Bean 的解析过程非常复杂,功能被分的很细,因为这里需要被扩展的地方很多,必须保证有足够的灵活性,以应对可能的变化。Bean 的解析主要就是对 Spring 配置文件的解析。

Spring核心理解总结

1 Spring框架的核心组件:Core、Context、Beans。其中最核心的组件就是Beans,
  • Allen202
  • Allen202
  • 2014年06月21日 21:49
  • 10119

Spring核心(一)概述

Spring是什么?          Spring是一个开源框架,是为了解决企业应用程序开发复杂性而开发的。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。  ...
  • wanghuan203
  • wanghuan203
  • 2012年06月03日 11:01
  • 4814

Spring核心及实现

Spring的核心是控制反转(IoC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架. 特点: 1.方便解耦,简化开发 ...
  • huguobao520
  • huguobao520
  • 2016年04月09日 20:26
  • 1227

Spring核心类和原理分析

spring 的骨架 spring 的骨架,也是spring 的核心包。主要包含三个内容 1.context:spring 的上线文-------导演 2.core:spring的核心包,主要包...
  • he90227
  • he90227
  • 2016年05月23日 14:26
  • 11941

Spring入门之Spring核心与概述

1、Spring的两个特性Spring丰富功能的底层都依赖于两个特性:1、依赖注入(Dependency injection ,DI)和面向切面编程(aspect-oriented programmi...
  • zhoucheng05_13
  • zhoucheng05_13
  • 2017年01月12日 21:51
  • 757

Spring核心思想,IoC与DI详解(如果还不明白,放弃java吧)

1.IoC是什么? IoC(Inversion of Control)控制反转,IoC是一种新的Java编程模式,目前很多轻量级容器都在广泛使用的模式。 2.IoC解决了什么问题? 在...
  • Baple
  • Baple
  • 2016年12月15日 11:19
  • 2777

spring三大核心学习

spring三大核心学习spring是一个轻型容器(light-weight Container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。...
  • yks0527
  • yks0527
  • 2017年01月05日 15:16
  • 1936

spring框架概述及六大核心功能介绍

组件/框架设计 侵入式设计                    引入了框架,对现有的类的结构有影响;即需要实现或继承某些特定类。                    例如:     Str...
  • miachen520
  • miachen520
  • 2016年08月14日 09:14
  • 2029

Spring的最核心功能是什么?使用Spring最核心功能的原因是什么?

Spring核心功能包括core、context和beans,其中最核心的是beans,也就是bean Factory。 spring 解决了的最核心的问题就是把对象之间的依赖关系转为用配置文件来管...
  • zfc0911611622
  • zfc0911611622
  • 2014年12月24日 14:13
  • 442

spring框架核心思想以及注入方式(一)

1.spring用来整合其它框架和技术 2. 将事务的控制放在配置文件中管理(声明式事务),用来取代编程式事务 3. spring的核心思想 IOC(Inversion of Contr...
  • u013008179
  • u013008179
  • 2016年08月29日 23:23
  • 1246
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spring最核心的功能是什么?使用Spring框架的最核心的原因是什么?
举报原因:
原因补充:

(最多只允许输入30个字)