Spring 框架概述

1. 原生 Web 弊端

    (1)Java Web 原生开发技术耦合度极高!例如: Service 操作,JDBC 数据库相关操作

    (2)JavaEE API、Servlet、JDBC 操作流程非常繁琐

    (3)项目代码移植性差。

    (4)侵入性强、Service 层、Dao 层、数据库切换

────────────────────────────────────────────────────────────

2. Spring 概述

    (1)Spring 框架是一个轻量级的开源的 JavaEE 应用程序框架,针对 bean 的生命周期进行管理的轻量级容器.

    (2)Spring 解决了企业应用开发的复杂性,提供了功能强大 IOC、AOP 及 web MVC 等功能。Spring 可以单独应用于构筑应用程序,也可以和 Struts、webwork、Tapestry 等众多 web 框架组合使用,并且可以与 Swing 等桌面应用程序组合。因此 Spring 不仅仅能应用于 JavaEE 应用程序之中,也可以应用于桌面应用程序以及小应用程序之中。

    (3)Spring 框架主要由七部分组成,分别是 Spring core、Spring AOP、Spring ORM、SpringDAO、Spring context、Spring web 和 Spring web MVC。

────────────────────────────────────────────────────────────

3. Spring 框架特性

    (1)非侵入式:基于 Spring 开发的应用中的对象可以不依赖于 Spring 的 API。

    (2)控制反转 IOC:【Inversion of Control】由 Spring 框架管理 Bean 。

    (3)依赖注入 DI:【Dependency Injection】是指依赖的对象不需要开发者去赋值,由 Spirng 自动通过配置赋值。

    (4)面向切面编程:AOP——Aspect Oriented Programming

    (5)容器:Spring 是一个容器,因为它包含并且管理应用对象的生命周期

    (6)组件化:Spring 实现了使用简单的组件配置组合成一个复杂的应用。在 Spring 中可以使用 XML 和 Java 注解组合这些对象。

    (7)一站式:在 IOC 和 AOP 的基础上可以整合各种企业应用的开源框架和优秀的第三方类库(实际上 Spring 自身也提供了表现层的 SpringMVC 和持久层的 Spring JDBC)

────────────────────────────────────────────────────────────

4. Spring 特点

    (1)方便解耦,简化开发

    (2)Aop 编程支持

    (3)方便程序测试

    (4)方便和其他框架进行整合

    (5)方便进行事务操作:Spring 提供了一致的事务管理接口,可向下扩展到(使用一个单一的数据库)本地事务并扩展到全局事务( 使用 JTA )

    (6)降低 API 开发难度:Spring 对 JavaEE 开发中的一些复杂 API(JDBC、JavaMail、远程调用等)都提供了封装,使这些 API 应用难度大大降低。

────────────────────────────────────────────────────────────

5. 使用 Spring 框架的好处

    (1)Spring 简化开发,利用了一些现有的技术,像 ORM 框架、日志框架、JEE、Quartz 和 JDK 计时器,其他视图技术。

    (2)Spring 的 IOC 容器往往是轻量级的,特别是当与 EJB 容器相比的时候。这有利于在内存和 CPU 资源有限的计算机上开发和部署应用程序。

    (3)Spring 可以使开发人员使用 POJOs 开发企业级的应用程序。只使用 POJOs 的好处是你不需要一个 EJB 容器产品,比如一个应用程序服务器,但是你可以选择使用一个健壮的 Servlet 容器,比如 Tomcat 或者一些商业产品。

    (4)测试一个用 Spring 编写的应用程序很容易,因为环境相关的代码被移动到这个框架中。此外,通过使用 JavaBean-style POJOs,它在使用依赖注入注入测试数据时变得更容易。

    (5)Spring 的 web 框架是一个设计良好的 web MVC 框架,它为比如 Structs 或者其他工程上的或者不怎么受欢迎的 web 框架提供了一个很好的供替代的选择。MVC 模式导致应用程序的不同方面(输入逻辑,业务逻辑和UI逻辑)分离,同时提供这些元素之间的松散耦合。模型(Model)封装了应用程序数据,通常它们将由 POJO 类组成。视图(View)负责渲染模型数据,一般来说它生成客户端浏览器可以解释 HTML 输出。控制器(Controller)负责处理用户请求并构建适当的模型,并将其传递给视图进行渲染。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值