spring

  • Post author:
  • Post category:其他


一、简介

Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核。

提供了展现层 SpringMVC和持久层 Spring JDBCTemplate以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的Java EE 企业应用开源框架

二、spring的优势

方便解耦,简化开发

AOP 编程的支持

声明式事务的支持

方便程序的测试

三、IOC

1.简介

IOC全称是Inversion of Control,控制反转。它是一种设计思想,由容器将设计好的对象交给容器控制,而非对象内部直接new。

传统的Java设计中,直接会在对象的内部通过new进行对象的创建,是程序主动创建以来对象;对Ioc来说,有一个专门的容器专门管理这些对象的生命周期,控制对象的创建;所以在Ioc中,是通过Ioc容器控制对象,由Ioc容器控制外部资源的获取。

传统应用中是由我们自己在对象中主动控制去直接获取以来对象;反转则是通过容器来进行对象的依赖和创建,这里,对象只是被动的接收依赖对象,因此称为反转,而反转的则是依赖对象的获取被反转了。

Ioc不是一种具体的技术,而是一种设计思想,Ioc的目的是为了如何指导我们编写出更加松耦合,更加优雅的程序。传统的应用程序使我们在类的内部显式的创建依赖的对象。从而导致类于类之间耦合度过高。而使用了Ioc的设计思想,将对象的创建,查找依赖,以及生命周期的控制权交给了Ioc容器。对象之间耦合较松,更加灵活。

2.ioc背后原理

反射和工厂模式,反射原理使得我们通过对象的描述信息可生产出完整的对象,工厂模式使得IOC代码更加松耦合更合家里的生产Bean对象。

四、AOP

AOP为Aspect Oriented Programming的缩写,意为:

面向切面编程

,通过

预编译

方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是

OOP

的延续,是软件开发中的一个热点,也是

Spring

框架中的一个重要内容,是

函数式编程

的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的

耦合度

降低,提高程序的可重用性,同时提高了开发的效率。



版权声明:本文为yueseck原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。