2023年7月19日面试题 spring相关

2023年7月19日面试题

1. 你是如何理解IoC的?

答:

  • IoC全称为控制反转,Inversion of Control,是一种编程思想,Spring中将其实现为一个容器,IoC容器是Spring框架中的重要组件之一。
  • 控制反转就是将对象的创建、实例化和初始化的控制权交给IoC容器。而不是使用new关键字来创建。这些被IoC控制管理的对象,称为Spring Bean。
  • IoC容器是由工厂模式实现的,IoC容器就是这个工厂,产品就是Spring Bean。
  • 我们可以通过xml配置文件、注解和配置类的方式将一个对象定义为Bean,放入IoC容器中。
  • 当我们需要使用某个Bean时,可以通过上下文context来获取。
  • 配合@Autowired注解可以实现依赖注入
  • IoC降低了对象与对象之间的耦合性,提高了程序的灵活性和功能的复用性。

2. 你是如何理解AOP的?

答:

  • AOP是面向切面编程,是面向对象编程的延续。
  • AOP可以在不改变目标类原有代码的基础上,向目标类织入增强代码。
  • AOP基于动态代理实现,动态代理有基于接口的JDK动态代理,和基于子类的CGLib动态代理。

3. Spring MVC的工作流程是什么?

  • SpringMVC接收请求,交给DispatcherServelet前端控制器。
  • 前端控制调用HandlerMapping映射处理器处理请求,返回给前端控制器。
  • 前端控制器根据解析结果调用Controller对应的方法,方法执行相关逻辑后返回ModelAndView。
  • 前端控制器将数据模型和视图传给ViewResolver视图解析器,视图解析器根据名称找到对应的View,将Model填入View渲染成最终页面。
  • 前端控制器以最终页面响应请求。

4. Spring如何解决循环依赖?

  • 使用三级缓存解决。

5. Spring一个接口多次修改数据库怎么保证全部都完成或者全部都失败?

  • 使用Spring 事务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值