1.什么是spring?
Spring是java企业级利用的开源开发框架。Spring次要用来开发Java利用,然而有些扩大针对构建J2EE平台的web利用。Spring框架指标是简化Java企业级利用开发,并通过POJO为根底的编程模型促成良好的编程习惯。
2.应用Spring框架的益处是什么?

  • 轻量:Spring是轻量的,根底的版本大概2MB。
  • 管制反转:Spring通过管制反转实现了涣散耦合,对象们给出他们的依赖,而不是创立或查找依赖的对象们。
  • 面向切面的编程(AOP):Spring反对面向切面的编程,并且把利用业务逻辑和零碎服务离开。
  • 容器:Spring蕴含并治理利用中对象的生命周期和配置。
  • MVC框架:Spring的WEB框架是精心设计的框架,是WEB框架的一个很好的替代品。
  • 事物治理:Spring提供方便的API把具体技术相干的异样(比方由JDBC,Hibernate or JDO抛出的)转化为统一的unchecked异样。

3.Spring由哪些模块组成?
以下是Spring框架的根本模块:

  • Core module
  • Bean module
  • Context module
  • Expression Language module
  • JDBC module
  • ORM module
  • OXM module
  • Java Messaging Service(JMS) module
  • Transaction module
  • Web module
  • Web-Servlet module
  • Web-Struts module
  • Web-Portlet module

4.外围容器(利用上下文)模块
这是根本的Spring模块,提供spring框架的根底性能,BeanFactory是任何以spring为根底的利用的外围。Spring框架建设在此模块之上,它使Spring成为一个容器。

5.BeanFactory - BeanFactory实现举例
Bean工厂是工厂模式的一个实现,提供了管制反转性能,用来把利用的配置和依赖从正真的利用代码中拆散。
最罕用的BeanFactory实现是XmlBeanFactory类。

6.XMLBeanFactory
最罕用的就是org.springframework.beans.factory.xml.XmlBeanFactory,它依据XML文件中的定义加载beans。该容器从XML文件读取配置元数据并用它去创立一个齐全配置的零碎或利用。
7.解释AOP模块
AOP模块用于发给咱们的Spring利用做面向切面的开发,很多反对由AOP联盟提供,这样就确保了Spring和其余AOP框架的共通性。这个模块将元数据编程引入Spring。

8.解释 JDBC形象和DAO模块。

通过应用JDBC形象和DAO模块,保障数据库代码的简洁,并能防止数据库资源谬误敞开导致的问题,它在各种不同的数据库的错误信息之上,提供了一个对立的异样拜访层。它还利用Spring的AOP模块给Spring利用中的对象提供事务管理服务。

9.解释对象/关系映射集成模块。
Spring通过提供ORM模块,反对咱们在间接JDBC之上应用一个对象/关系映射映射(ORM)工具,Spring反对集成支流的ORM框架,如Hiberate,JDO和iBATIS SQL Maps。Spring的事务管理同样反对以上所有ORM框架及JDBC。

10.解释WEB模块。
Spring的WEB模块是构建在application context模块根底之上,提供一个适宜web利用的上下文。这个模块也包含反对多种面向web的工作,如通明地解决多个文件上传申请和程序级申请参数的绑定到你的业务对象。它也有对Jakarta Struts的反对。