webIT课程分享Java学习笔记

Spring 概述

2017-07-21  本文已影响80人  蓝桥云课

说明:文章内容截选自实验楼教程【Spring框架入门教程】~

Spring 是什么

Spring 是一个开源的轻量级 Java SE( Java 标准版本)/Java EE( Java 企业版本)开发应用框架,其目的是用于简化企业级应用程序开发。

在传统应用程序开发中,一个完整的应用是由一组相互协作的对象组成的。所以开发一个应用除了要开发业务逻辑之外,最多的是关注使这些对象协作来完成所需功能的同时,实现低耦合、高内聚。

所以,业务逻辑开发是不可避免的。如果有个框架可以帮我们来创建对象及管理这些对象之间的依赖关系,能通过配置方式来创建对象,管理对象之间依赖关系,我们不需要通过工厂和生成器来创建及管理对象之间的依赖关系,这样我们必然会减少许多工作量,加快开发。Spring 框架问世之初主要就是来完成这个功能。

Spring 框架除了帮我们管理对象及其依赖关系,还提供像通用日志记录、性能统计、安全控制、异常处理等面向切面的能力,可以帮我们管理最头疼的数据库事务,同时,它本身提供了一套简单的 JDBC 访问实现,能与第三方数据库访问框架集成(如 Hibernate、JPA ),与各种 Java EE 技术整合(如 Java Mail、任务调度等等),提供一套自己的 web 层框架 Spring MVC 、而且还能非常简单的与第三方 web 框架集成。

从这里我们可以认为 Spring 是一个超级粘合平台,除了自己提供功能外,还提供粘合其他技术和框架的能力,从而使我们可以更自由的选择到底使用什么技术进行开发。而且不管是 JAVA SE( C/S 架构)应用程序还是 JAVA EE( B/S 架构)应用程序都可以使用这个平台进行开发。让我们来深入看一下 Spring 到底能帮我们做些什么?

Spring 能帮我们做什么

1. Spring 能帮我们根据配置文件创建及组装对象之间的依赖关系

传统程序开发,创建对象及组装对象间依赖关系由我们在程序内部进行控制,这样会加大各个对象间的耦合,如果我们要修改对象间的依赖关系就必须修改源代码,重新编译、部署;而如果采用 Spring,则由 Spring 根据配置文件来进行创建及组装对象间依赖关系,只需要改配置文件即可,无需重新编译。

2 Spring 面向切面编程能帮助我们无耦合的实现日志记录、性能统计、安全控制

当我们要进行一些日志记录、权限控制、性能统计等工作时,在传统应用程序当中我们可能在需要的对象或方法中进行,而且比如权限控制、性能统计大部分是重复的,这样代码中就存在大量重复代码,即使把通用部分提取出来,仍旧存在重复调用,像性能统计我们可能只是在必要时才进行,在诊断完毕后要删除这些代码;还有日志记录,比如记录一些方法访问日志、数据访问日志等等,这些都会渗透到各个访问方法中;还有权限控制,必须在方法执行时开始进行审核,可见这些工作急需优化。

如果采用 Spring ,这些日志记录、权限控制、性能统计从业务逻辑中分离出来,通过 Spring 支持的面向切面编程,动态添加这些功能,无需渗透到各个需要的方法或对象中。反观其他的解决方案,通过使用“代理设计模式”或“包装器设计模式”,仍需通过编程方式来创建代理对象,仍需耦合这些代理对象,而采用 Spring 面向切面编程能提供一种更好的方式来完成上述功能。通过配置方式,而不需要在现有代码中添加任何额外代码,使现有代码专注业务逻辑。

3 Spring能非常简单的帮我们管理数据库事务

在传统应用程序当中,我们如何来完成数据库事务管理?需要一系列“获取连接,执行 SQL,提交或回滚事务,关闭连接”,而且还要保证在最后一定要关闭连接,多么可怕的事情,而且也很无聊;如果采用 Spring,我们只需获取连接,执行 SQL,其他的都交给 Spring 来管理,简单方便。

除以上之外,Spring 还可以:

Spring 的优点

1 关键概念

2 Spring 的优点

Spring 能帮助我们简化应用程序开发,帮助我们创建和组装对象,为我们管理事务,简单的 MVC 框架,可以把 Spring 看作是一个超级粘合平台,能把很多技术整合在一起,形成一个整体,使系统结构更优良、性能更出众,从而加速我们程序开发,有如上优点,我们没有理由不考虑使用它。

如何学好 Spring

要学好 Spring,首先要明确 Spring 是个什么东西,能帮我们做些什么事情,知道了这些然后做个简单的例子,这样就基本知道怎么使用 Spring了。Spring 核心是 IoC 容器,所以一定要透彻理解什么是控制反转( IoC )容器,以及如何配置及使用容器,其他所有技术都是基于容器实现的;理解好 IoC 后,接下来是面向切面编程( AOP ),首先还是明确概念,基本配置,最后是实现原理,接下来就是数据库事务管理,其实 Spring 管理事务是通过面向切面编程实现的,所以基础很重要, IoC 容器和 AOP 学好,其余都是基于这两个核心东西的实现,学起来就更加轻松了。

Spring 架构图

Spring架构图

1 核心容器:包括 Core 、 Beans 、 Context 、 EL 模块

2 AOP 、 Aspects 模块:

典型应用场景

Spring 可以应用到许多场景,从最简单的标准 Java SE 程序到企业级应用程序都能使用 Spring 来构建。以下介绍几个比较流行的应用场景:

web应用程序应用场景 远程访问应用场景 EJB应用场景

最后

文章截选自实验楼教程 ,该教程总共8节内容,文章截选自第一节,剩下的7节内容是:

如果想要查看完整教程,点击课程【Spring框架入门教程】即可~

上一篇下一篇

猜你喜欢

热点阅读