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,

spring security起步四:退出登录配置以及logout属性详解

用户退出登录实质是使当前登录用户的session失效的操作。一般来说,用户退出后,将会被重定向到站点的非安全保护页,比如登录页面.用户退出功能实现增加hader.jsp <%@ taglib pref...

spring拦截器使用及拦截器中获取Controller实例

1,首先是配置,在spring-mvc的配置文件中加上 2,编写拦截器类 package cn.hydom.ztc.ztc_cp.controller.common...

多线程实现方式

1.JAVA多线程实现方式 JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。...

Spring 拦截器

spring 拦截器SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理。 比如通过它来进行权限验证,判断用户是否登陆,或像1...

SpringMVC拦截器(资源和权限管理)

1.DispatcherServlet     SpringMVC具有统一的入口DispatcherServlet,所有的请求都通过DispatcherServlet。     Dispatche...

spring拦截器、与filter的区别

5.1、处理器拦截器简介 Spring Web MVC的处理器拦截器(如无特殊说明,下文所说的拦截器即处理器拦截器) 类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理...

SpringMVC拦截器实现登录认证

博客以Demo的形式讲诉拦截器的使用 项目结构如图: 需要的jar:有springMVC配置需要的jar和jstl需要的jar SpringMVC包的作用说明: ...

简单的springmvc登录验证拦截器

在springmvc.xml中配置类似全局的拦截器,springmvc框架将配置的类似全局的拦截器注入到每个HandleMapping中。 需求 1、用户请求url 2、拦截器进行拦截校...

spring security起步六:基于数据库的用户认证

在前面的例子中,我们的用户都是存放在内存中,现在就来实现spring security基于数据库的用户认证功能。配置数据源dataSource首先,这里使用的数据库连接池为druid,数据库为mysq...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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