博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面试总结3 介绍spring
阅读量:5992 次
发布时间:2019-06-20

本文共 747 字,大约阅读时间需要 2 分钟。

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 代理。

转载地址:http://auxlx.baihongyu.com/

你可能感兴趣的文章
PowerShell~发布你的mvc网站
查看>>
POJ3104 Drying [二分]
查看>>
jquery获取,赋值img的src值..
查看>>
Kali linux 2016.2(Rolling)里Metasploit的常用模块
查看>>
EntityFramework Core并发导致显式插入主键问题
查看>>
hrtimer的简单使用 + 原理和实现【转】
查看>>
关于IE8不支持document.getElementById().innerHTML的问题
查看>>
用rand()和srand()产生伪随机数的方法总结 【转】
查看>>
二分搜索及其扩展
查看>>
缓存篇(Cache)~大话开篇
查看>>
看SQL SERVER数据库当前连接数
查看>>
LintCode: Restore IP Address
查看>>
LintCode: Valid Parentheses
查看>>
事件引入和本质
查看>>
apiCloud事件发送与监听
查看>>
JasperReport,iReport 开发资源
查看>>
SOA面向服务架构简述
查看>>
FotoVision学习手记(2)
查看>>
XMPP 教程分享
查看>>
成功是什么?
查看>>