【干货】Spring全家桶面试大全(79道含答案),这么全的Spring全家桶你看过吗?不能私藏~

本文详细介绍了Spring框架的核心概念、模块组成、依赖注入、AOP、事务管理、Web模块等内容,包括79道面试题及答案,涵盖Spring的IoC容器、Bean工厂、Spring Boot、安全配置等多个方面,帮助读者深入理解Spring全家桶的全貌。
摘要由CSDN通过智能技术生成

Spring面试题大全含答案共79题,附(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 框架的基本模块:

  • 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的支持。

12. 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配置。
  • WebXmlApplicationContext:此容器加载一个XML文件,此文件定义了一个WEB应用的所有bean。

16. Bean 工厂和 Application contexts 有什么区别?

Application contexts提供一种方法处理文本消息,一个通常的做法是加载文件资源(比如镜像),它们可以向注册为监听器的bean发布事件。另外,在容器或容器内的对象上执行的那些不得不由bean工厂以程序化方式处理的操作,可以在Application contexts中以声明的方式处理。Application contexts实现了MessageSource接口,该接口的实现以可插拔的方式提供获取本地化消息的方法。

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

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

依赖注入

18. 什么是Spring的依赖注入?

依赖注入,是IOC的一个方面,是个通常的概念,它有多种解释。这概念是说你不用创建对象,而只需要描述它如何被创建。你不在代码里直接组装你的组件和服务,但是要在配置文件里描述哪些组件需要哪些服务,之后一个容器(IOC容器)负责把它们组装起来。

19. 有哪些不同类型的IOC(依赖注入)方式?

  • 构造器依赖注入:构造器依赖注入通过容器触发一个类的构造器来实现的,该类有一系列参数,每个参数代表一个对其他类的依赖。
  • Set
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些常见的 Spring 全家面试题: 1. Spring 是什么?它的核心特性是什么? Spring 是一个开源的轻量级框架,它基于 Java 语言开发,旨在简化企业级应用程序的开发。Spring 的核心特性包括:IoC(控制反转)、AOP(面向切面编程)、MVC(模型-视图-控制器)等。 2. IoC(控制反转)是什么?它的实现方式有哪些? IoC(控制反转)指的是将对象的创建和依赖关系的管理交给 IoC 容器来完成。它的实现方式包括:XML 配置、注解、Java 配置等。 3. AOP(面向切面编程)是什么?它的应用场景有哪些? AOP(面向切面编程)指的是在不改变源代码的情况下,通过动态代理的方式对方法进行增强。它的应用场景包括:事务管理、日志记录、权限控制等。 4. Spring MVC(模型-视图-控制器)是什么?它的工作流程是怎样的? Spring MVC(模型-视图-控制器)是一种基于 Java 的 Web 框架,它采用 MVC 设计模式来实现分离应用程序的不同层。它的工作流程包括:用户发送请求、DispatcherServlet 接收请求、HandlerMapping 找到匹配的 Controller、Controller 处理请求并返回数据、ViewResolver 找到匹配的视图并返回给客户端。 5. Spring Boot 是什么?它的优点是什么? Spring Boot 是一个快速开发 Spring 应用程序的框架,它基于 Spring 框架,采用约定优于配置的方式来简化应用程序的开发。它的优点包括:快速开发、简化配置、自动装配、内置服务器等。 6. Spring Cloud 是什么?它的核心组件有哪些? Spring Cloud 是一个基于 Spring Boot 的微服务框架,它提供了一些常用的微服务组件,例如服务发现、服务治理、配置中心、负载均衡等。它的核心组件包括:Eureka、Ribbon、Feign、Hystrix、Zuul 等。 以上是一些常见的 Spring 全家面试题,希望能对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值