A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

1.什么是spring

spring是个java企业级应用开源框架。主要用来开发java应用和java web应用。

目的是简化java企业级应用开发,以POJO为基础的编程模型促进良好的编程习惯。



2.使用spring框架的好处是什么

轻量:Spring 是轻量的,基本的版本大约2MB。

控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。

面向切面编程:Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。

容器:Spring 包含并管理应用中对象的生命周期和配置。

MVC框架:Spring的WEB框架是个精心设计的框架,是Web框架的一个很好的替代品。

事务管理:Spring 提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局事务(JTA)。

异常处理:Spring 提供方便的API把具体技术相关的异常(比如由JDBC,Hibernate or JDO抛出的)转化为一致的unchecked 异常



3.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实现举例

org.springframework.beans.factory.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的支持。



11.Spring配置文件

Spring配置文件是个XML 文件,这个文件包含了类信息,描述了如何配置它们,以及如何相互调用。



13.什么是Spring IOC容器

Spring IOC 负责创建对象,管理对象(通过依赖注入(DI),装配对象,配置对象,并且管理这些对象的整个生命周期。



14.IOC的优点是什么

IOC 或 依赖注入把应用的代码量降到最低。

它使应用容易测试,单元测试不再需要单例和JNDI查找机制。

最小的代价和最小的侵入性使松散耦合得以实现。

IOC容器支持加载服务时的饿汉式初始化和懒加载。



15.ApplicationContext通常的实现是什么

FileSystemXmlApplicationContext :此容器从一个XML文件中加载beans的定义,XML Bean 配置文件的全路径名必须提供给它的构造函数。
ClassPathXmlApplicationContext:此容器也从一个XML文件中加载beans的定义,这里,你需要正确设置classpath因为这个容器将在classpath里找bean配置。
XmlWebApplicationContext:此容器加载一个XML文件,此文件定义了一个WEB应用的所有bean。


16.Bean工厂和ApplicationContext有什么区别

ApplicationContexts提供一种方法处理文本消息,通常做法是加载文件资源(比如镜像),它们可以向注册为监听器的bean发布事件。

另外,在容器或容器内的对象上执行的那些不得不由bean工厂以程序化方式处理的操作,可以在Application contexts中以声明的方式处理。ApplicationContexts实现了MessageSource接口,该接口的实现以可插拔的方式提供获取本地化消息的方法。



17.一个Spring的应用看起来像什么?

一个定义了一些功能的接口。
这实现包括属性,它的Setter , getter 方法和函数等。
Spring AOP。
Spring 的XML 配置文件。
使用以上功能的客户端程序。

---------------------
【转载,仅作分享,侵删】
作者:醉花妍
原文:https://blog.csdn.net/qq_42214817/article/details/83271419
版权声明:本文为博主原创文章,转载请附上博文链接!

1 个回复

倒序浏览
奈斯,感谢分享!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马