——spring是一个开源框架,是为了解决企业应用程序开发。简单来说,spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。
一、轻量:大小:完整的spring框架可以在一个大小只有1MB多的JAR文件里发布,
开销:微不足道
spring是非侵入式的、典型的、Spring应用中的对象不依赖Spring的特定类。
二、控制反转、依赖注入:
IOC控制反转:说的是创建对象实例的控制权从代码控制剥离到IOC容器控制,实际就是你在xml文件控制,侧重于原理。
DI依赖注入:说的是创建对象实例时,为这个对象注入属性值或其它对象实例,侧重于实现。
三、面向切面:
AOP(Aspect Oriented Programming,面向切面编程)的主要目的是针对业务处理过程中的切面进行提取,所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。可以通过预编译方式和运行时动态代理,实现在不修改源代码的请你工况下,给程序动态添加功能的一种技术。在OOP中模块化的关键单元是类,而在AOP中模块化的单元是切面。切面能对关注点进行模块化,例如横切多个类型和对象的事务管理。在AIP属于中通常成为横切关注点。
详细了解AOPSpring学习之深入AOP面向切面编程
四、容器:
Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要的时候都生成一个新的实例——以及他们是如何关联的。
五、框架:Spring可以将简单地组件配置、组合成为复杂的应用。在spring中,应用对象被声明式的组合、典型的是在一个XML文件里,Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。
——springMVC