Spring的理解及Spring的优缺点

AOP、IOC、DI

spring是按照设计模式精细打造的,它实现了工厂模式的工厂类,这个类名为BeanFactory(接口),常常使用它的子接口ApplicationContext

spring的核心是IOC(控制反转),IOC是一种设计思想,用于实现模块之间的解耦,在Spring中它的作用是对对象的创建,维护和销毁生命周期的控制。IOC:把对象的创建、初始化、销毁、交给Spring来管理,而不是由开发者,实现了控制反转

spring是一个大的工厂类,spring的特点就是基于配置,在其配置文件中通过<bean>来创建实例对象

根据业务逻辑来看,对象经常不是独立的,一个对象的创建往往涉及到另一个对象的

创建,当然这个对象也要由IOC容器负责,负责的方式就是依赖注入DI,通过反射机制实现。有三种注入方式:(1)接口注入、(2)构造器注入、(3)setter方法注入。

AOP:面向切面编程,系统中有很多各不相干的类的方法,在这众多方法中加入某种系统功能的代码,如加入日志、权限、判断等,AOP可以实现横切关注点(如日志,安全,缓存和事务管理)与他们所影响的对象之间的解耦。

实现AOP功能采用的是代理技术,调用代理类,代理类与目标类具有相同的方法声明。

AOP在spring中主要表现在两个方面:提供声明式的事务管理、spring支持用户自定义切面

AOP主要包括通知(advice)切点(point cut)连接点(join point)

Spring的优缺点

Spring的核心概念是IOC和AOP,这两个核心服务的对象是bean,定位是一个轻量级的框架,但是随这他的发展变得很庞大

优点:

Spring中避免了关键字new造成的耦合问题

Spring本身就是一个工厂,不需要再编写工厂类

Spring不需要进行明确的引用关系的传递,直接通过配置完成

所有框架几乎都可以在spring中整合使用

Spring编程=factory设计模式+proxy设计模式

缺点:

Spring基于大量的xml配置文件,使得我们花大量的时间放在配置上,拖慢了开发进度,springboot问世之后,提倡代码优于配置解决了这个问题

Spring的内容太庞大,随便打断点查﹁看的时候会出现十几二十层代码,阅览性不强,在实际开发的过程中spring的角色 更像是胶水一样,充当整合各种技术的角色,同时作为bean的容器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值