Spring常见面试题
Posted lanqiu5ge
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring常见面试题相关的知识,希望对你有一定的参考价值。
本文是通过收集网上各种面试指南题目及答案然后经过整理归纳而来,仅仅是为了方便以后回顾,无意冒犯各位原创作者。
1. 什么是Spring?
Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。
2. 使用Spring框架的好处?
- 轻量:Spring 是轻量的,基本的版本大约2MB。
- 控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。
- 面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。
- 容器:Spring 包含并管理应用中对象的生命周期和配置。
- MVC框架:Spring的WEB框架是个精心设计的框架,是Web框架的一个很好的替代品。
- 事务管理:Spring 提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局事务(JTA)。
- 异常处理:Spring 提供方便的API把具体技术相关的异常(比如由JDBC,Hibernate or JDO抛出的)转化为一致的unchecked 异常。
3. Spring 框架都有哪些模块
- Spring核心容器:容器是Spring框架最核心的部分,它管理着Spring应用中Bean的创建、配置和管理。
- Spring AOP模块:在此模块中,Spring对面向切面编程提供了丰富的支持。
- 数据访问与集成
- Web与远程调用
- Instrumentation
- 测试
4. BeanFactory 和 ApplicationContext 有什么区别?
BeanFactory 和 ApplicationContext 是Spring容器的不同实现,Spring容器负责创建对象,装配它们,配置它们并管理它们的整个生命周期。
BeanFactory是最简单的容器,提供基本的DI支持;ApplicationContext基于BeanFactory构建,并提供应用框架级别的服务,例如从属性文件解析文本信息以及发布应用时间给感兴趣的事件监听者。
5. 常见的ApplicationContext实现方式?
- AnnotationConfigApplicationContext:从一个或多个基于Java的配置类中加载Spring应用上下文。
ApplicationContext context = new AnnotationConfigApplicationContext(com.springinaction.server.config.ServerConfig.class);
- ClassPathXmlApplicationContext:从类路径下的一个或多个XML配置文件中加载上下文定义,把应用上下文的定义文件作为类资源。
ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
- FileSystemXmlApplicationContext:从文件系统下的一个或多个XML配置文件中加载上下文定义。
ApplicationContext context = new FileSystemXmlApplicationContext("c:/bean.xml");
- XmlWebApplicationContext:从Web应用下的一个或多个XML配置文件中加载上下文定义。
以上是关于Spring常见面试题的主要内容,如果未能解决你的问题,请参考以下文章