什么是spring? spring有什么用?简化应用程序体现在哪些方面?
1.spring是一个开源轻量级的java开发框架。
2.简化应用程序的开发
3.主要体现在IOC(控制反转)和AOP(面向切面编程)
阐述IOC容器
什么是控制反转或者叫做依赖注入?
传统Java SE程序设计,我们直接在对象内部通过new进行创建对象,是程序主动创建依赖对象,而ioc是专门有个容器来创建和管理对象。
Java思想是面向对象的开发,一个应用程序是由一组对象通过相互协作开发的业务逻辑组成,那么如何管理这些对象,让他们高效的协作呢?抽象工厂,工厂方法可以帮我们创建对象,生成器模式帮我们处理对象间的依赖关系。可是这些需要我们创建另一些工厂类,生成器类。增加了我们开发负担。如果对象需要的时候,自动生成对象,不用再去创建。
Spring提出了一种思想:就是由spring控制对象的生命周期和对象间的关系。所有的类都会在spring容器中登记。告诉spring你是什么东西,你需要什么东西。然后spring会在系统运行到适当的时候,把你要的东西主动给你,同时也你交给其他需要的东西。所有类的创建,销毁都由spring来控制。
AOP
面向切面编程
比如进行计算器编写,需要实现加,减,乘,除四种简单运算,编写四种不同的方法。还有另外俩种需求是在每种运算之前和运算之后进行日志记录和数字合规校验。利用AOP技术把日志记录和数据校验可重用模块分离出来,然后在程序执行合适的地方动态植入这些代码并执行。这样简化了代码的书写,业务逻辑代码和通用代码分离,便于维护和升级,降低了业务逻辑和通用逻辑的耦合。