Java常见spring面试题集锦,值得收藏

本文详细探讨了Spring框架的核心特性、配置方式、重要模块、优点、IoC和AOP的理解、注入方式、BeanFactory与ApplicationContext的区别、AOP与AspectJ的区别、bean的生命周期、Spring MVC的工作原理以及Spring中涉及的设计模式。通过本文,读者可以深入理解Spring框架并在面试中游刃有余。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 谈谈你对spring的理解

Spring是一个开源的轻量级的IoC和AOP容器框架,它为Java 应用程序提供了全面的基础设施,其目的是简化企业应用程序的开发,它使得开发者只需要关心业务需求,从而提高开发效率和系统的可维护性。

2.spring的配置方式

spring常见的配置方式:基于XML的配置、基于注解的配置、基于Java的配置。

3.请列举一下spring中有那些重要的模块

Spring Core:核心类库,其spring所有功能都依赖于该类库,提供IOC服务;

Spring Context:提供框架式的Bean访问方式,以及企业级功能(JNDI、定时任务等);

Spring AOP:AOP服务,提供面向方面的编程实现;

Spring DAO:对JDBC的抽象,简化了数据访问异常的处理;

Spring ORM:对现有的ORM框架的支持,例如:对Hibernate的支持;

Spring Web:为创建Web应用程序提供综合性支持,例如多方文件上传;

Spring MVC:提供面向Web应用的Model-View-Controller(即:模型-视图-控制器)实现;

Spring Test:提供了对JUnit和TestNG测试的支持;

Spring Aspects:该模块为与AspectJ的集成提供支持。

4.spring有那些优点

(1)spring采用低侵入式设计,大大降低了代码污染;

(2)spring通过DI机制将对象之间的依赖关系交由框架处理,减低组件的耦合性;

(3)Spring AOP技术,将一些通用任务,如安全、事务、日志、权限等进行集中式管理,从而提供更好的复用。

(4)spring对于主流的应用框架提供了很好集成支持。

5.谈谈你对 Spring IoC 和 AOP的理解

IoC 控制反转,是指创建对象的控制权的转移,以前创建对象的主动权和时机是由自己把控的,而现在这种权力转移到Spring容器中,并由容器根据配置文件去创建实例和管理各个实例之间的依赖关系,对象与对象之间松散耦合,也利于功能的复用。DI依赖注入,和控制反转是同一个概念的不同角度的描述,即 应用程序在运行时依赖IoC容器来动态注入对象需要的外部资源。

AOP面向切面编程,可以说它是对面向对象编程(注:面向对象简称(OOP): 允许开发者定义纵向的关系,但并适用于定义横向的关系,导致了大量代码的重复,而不利于各个模块的重用)的一种补充用于将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取并封装为一个可重用的模块,这个模块被命名为“切面”(Aspect),减少系统中的重复代码,降低了模块间的耦合度,同时提高了系统的可维护性。可用于权限认证、日志、事务处理。

6.Spring IoC 的注入方式

注入方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值