(一)Spring是什么?

1、Spring是一个开源框架,为了解决企业应用开发的复杂性而创建的,但现在不止应用于企业应用。

2、是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架

    (1)从大小与开销两方面而言spring都是轻量级的

      (2)  通过控制反转(IoC)的技术达到松耦合的目的

      (3)  提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发

      (4)  包含并管理应用对象的配置和生命周期,这个意义上是一种容器

      (5)  将简单的组件配置、组合成为复杂的应用,这个意义上是一个框架

 

  (二)为什么是Spring?(Spring带来了复杂JavaEE开发的春天)

1、在Spring上开发应用简单

2、在Spring上开发应用方便

3、在Spring上开发应用快捷

 

(三)Spring作用?

1、容器

2、提供了对多种技术的支持

  (1)JMS

  (2)MQ支持

  (3)UnitTest

  (4)......

3、AOP(事物管理、日志等)

4、提供了众多方便应用的辅助类(JDBC Template等)

5、对主流应用框架(Hibernate等)提供了良好的支持

 

  (四)适用范围

1、构建企业应用(SpringMVC + Spring + Hibernate/ibatis)

2、单独使用Bean容器(Bean管理)

3、单独使用AOP进行切面处理

4、其他的Spring功能,如:对消息的支持等

5、在互联网中的应用

 

  (五)框架?

1、什么是(软件)框架

(1)维基百科:软件框架,通常指的是为了实现某个业界标准或完成特定基本任务的软件组件规范,

               也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产品

(2)框架就是制定一套规范或者规则(思想),大家(程序员)在该规范或者规则(思想)下工作。

     或者说就是使用别人搭好的舞台,你来做表演

2、为什么使用(软件)框架

   

   (六)框架的特点

1、半成品

2、封装了特定的处理流程和控制逻辑

3、成熟的、不断升级改进的软件

 

   (七)框架与类库的区别

1、框架一般是封装了逻辑、高内聚的,类库则是松散的工具组合

2、框架专注于某一领域,类库则是更通用的

 

   (八)为什么使用框架?

1、软件系统日趋复杂

2、重用度高,开发效率和质量提高

3、软件设计人员要专注于对领域的了解,使需求分析更充分

4、易于上手、快速解决问题