面试总结3 介绍spring

Spring是一个轻量级的IOC和AOP容器框架,具有控制反转和面向切面编程的特点。本文介绍了其工作原理,包括构造器注入和setter方法注入,以及AOP的两种动态代理实现方式:JDK动态代理和CGLIB代理。

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

Spring是一个轻量级的IOC和AOP容器框架:

             a,轻量级:程序实现不是很复杂,代码不是很多,占用资源不是很多,没有侵入性;



             b,IOC(Inversion of Control 控制反转):对象创建责任的反转(重点,核心);



             c, Aop(Aspect Oriented Programming):面向横切面编程,可以进行功能性扩展



             d,容器:可以容纳对象,并且可以控制对象的生命周期;
复制代码

Sping框架的优缺点:

优点:

  • 轻量级的容器框架,没有侵入性

  • IoC更加容易组合对象之间的关系,通过面向接口进行编程,可以低耦合开发。

  • 易于本地测试(Junit单元测试,不用部署服务器)

  • AOP可以更加容易的进行功能扩展,遵循OCP开发原则。

  • Spring默认对象的创建为单例的,我们不需要再使用单例的设计模式来开发单体类。

  • Spring的集成很强大,另外可以对其他框架的配置进行一元化管理。

  • Spring的声明式事务的方便使用。

缺点:

  • 开发对设计要求较高,集成测试麻烦,对框架有一定的依赖性。

IOC原理

  • 是一种面向对象设计模式的思想,将创建对象的过程由IOC容器管理
  • 构造器注入
  • setter方法注入

AOP原理

  • AOP的源码中用到了两种动态代理来实现拦截切入功能:jdk动态代理和cglib动态代理。
  • jdk动态代理是由java内部的反射机制来实现的,cglib动态代理底层则是借助asm来实现的
  • CGLIB 代理:静态代理和动态代理模式都是要求目标实现一个接口的目标对象,但是有时候目标对象只是一个单独的对象,并没有实现任何接,这个时候就可以使用以目标对象子类的方式实现代理,这种方法叫做 cglib 代理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值