一些常见的Spring面试题和答案,如下:
- 什么是Spring框架?
Spring框架是一个开源的Java应用程序框架,它基于依赖注入和控制反转的设计原则,可用于构建Web应用程序、企业应用程序和RESTful服务等各种类型的Java应用程序。
- Spring框架中都有哪些模块?
Spring框架主要包括以下几个核心模块:
-
Spring核心容器(Core Container):提供了Spring的基本功能,例如依赖注入和控制反转等。
-
Spring AOP(Aspect-Oriented Programming):提供了面向方面编程的支持。
-
Spring JDBC(Java Database Connectivity):提供了对JDBC的封装,简化了数据访问。
-
Spring MVC(Model-View-Controller):提供了Web应用程序开发中的MVC框架。
-
Spring ORM(Object/Relational Mapping):提供了对ORM框架的支持,例如Hibernate和MyBatis等。
- 什么是依赖注入(DI)?
依赖注入是Spring框架中的一个核心概念,它是指将一个对象的依赖关系注入到另一个对象中,以减少对象之间的耦合性。依赖注入可以通过构造器注入、setter方法注入和注解注入等方式来实现。
- Spring框架中的控制反转(IoC)是什么?
控制反转是指将对象的创建和管理交给容器来处理,而不是由代码显式创建和管理。在Spring框架中,控制反转实现了依赖注入,将对象之间的依赖关系交给容器来处理,以达到松耦合的目的。
- Spring框架中的AOP是什么?
AOP(面向方面编程)是一种编程技术,它可以通过在程序执行过程中注入代码来实现对程序的切面操作。在Spring框架中,AOP可以通过拦截器和切面编程来实现,拦截器可以在目标方法执行前、执行后或出现异常时执行相应的操作,而切面可以将拦截器同时作用于多个方法上,以达到通用性的目的。