spring是轻量级框架,核心特性是可以用于开发任何java程序,但是在javaee平台上构建web应用程序是需要扩展的。Spring框架的目标是使J2EE开发变得更容易使用,通过基于POJO编程模型来促进良好的编程实践。

POJO(Plain Old Java Object)是一种纯粹的javaBean,在它里面除了JavaBean的规范的方法和属性没有别的东西,即private属性以及对这个属性方法的public的get和set方法。我们会发现这样的JAVABEAN很“单纯”,它只能装在数据,作为数据存储的载体,而不具有业务逻辑处理能力

可直接使用<jsp:useBean>指令

使用Spring框架的好处

1.可以使开发人员使用POJOs开发企业级应用程序

2.Spring 在一个单元模式中是有组织的

3.Spring 不会让你白费力气做重复工作,它真正的利用了一些现有的技术

4.测试一个用Spring编写的应用程序变得很容易,因为环境相关的代码被移动到这个框架中。

5.Spring 的web框架是一个设计良好的webMVC框架

模型(Mod) 封装应用程序数据,通常它们将由POJO类组成

视图(view)负责渲染模型数据,一般来说它生成客户端浏览器可以解释的HTML输出

控制器(Controller) 负责处理用户请求并构建适当的模型,并将其传递给视图进行渲染

6.Spring对javaee开发中非常难用的一些API(JDBC,JAVAMAIL,远程条用等),都提供了封装,使得这些API的应用难度大大降低

7.轻量级的IOC容器往往是轻量级

依赖注入DI

Spring最认同的技术是控制反转的依赖注入模式。控制反转(IOC)是一个通用的概念,它可以用许多不停的方式表达,依赖注入仅仅是控制反转的一个具体的例子。依赖注入有助于将类粘合在一起,并且在同一时间让他们保持独立

面向方面的程序设计(AOP)

Spring 框架的一个关键组件是面向方面的程序设计(AOP)框架。一个程序中跨越多个点的功能被称为横切关注点,这些横切关注点在概念上独立于应用程序的业务逻辑。比如日志记录,声明性事物,安全性,缓存

在OOP中模块化的关键单元是类,而在AOP中模块化的关键单元是方面。AOP帮助你将横切关注点从他们所涌向的对象中分离出来,然而依赖注入将帮助你将你的应用程序对象熊彼此中分离出来