初识 Spring

  框架可以帮助我们构建规范的、优秀的应用程序,简化烦琐的编码过程。

  Spring 是一个非常著名的轻量级的企业级开源框架,Spring 的目标是使 Java EE 更易用并促进良好的编程习惯。到今天,Spring 已经发展成为一个功能丰富而且易用的集成框架,其核心是一个完整的基于控制反转(IoC)的轻量级容器,用户可以使用它建立自己的应用程序。在容器之上,Spring 提供了大量实用的服务,将很多高质量的开源项目集成到统一的框架之上。Spring 框架的两大核心概念(思想)是 IoC 和 AOP 。

  Spring 致力于 Java EE 应用的各种解决方案,而不是仅仅专注于某一层的方案。可以说,Spring 是企业应用开发的 "一站式" 选择,Spring 贯穿表现层、业务层、持久层。Spring 并不想取代那些已有的框架,而是以高度的开放性与它们无缝整合。

  Spring 是一个轻量级框架,它大大简化了 Java 企业级开发、提供了强大、稳定的功能,又没有带来额外的负担,让人们在使用它做每件事情的时候都有得体和优雅的感觉。 Spring 有两个主要目标:一是让现有技术更易于使用,二是促进良好的编程习惯(或者称为最佳实践)。

  Spring 是一个全面的解决方案,但它坚持一个原则:不重新发明轮子。已经有较好解决方案的领域,Spring 绝不做重复性的实现。例如,对象持久化和ORM,Spring 只是对现有的 JDBC、 MyBatis、Hibernate 等技术提供支持,使之更易用,而不是重新做一个实现。

  Spring 框架由大约 20 个功能模块组成。这些模块被分成六个部分,分别是 Core Container,DataAccess / Integration、Web、AOP( Aspect Oriented Programming)、 Instrumentation 及 Test。Spring Core 是框架的最基础部分,提供了 IoC 特性。 Spring Context 为企业级开发提供了便利和集成的工具。 Spring AOP 是基于 Spring Core 的符合规范的面向切面编程的实现。 Spring JDBC 提供了 JDBC 的抽象层,简化了 JDBC 编码,同时使代码更健壮。 Spring ORM 对市面上流行的 ORM 框架提供了支持。 Spring Web 为 Spring 在 Web 应用程序中的使用提供了支持。

Spring 体系结构

企业级应用开发

  企业级应用是指那些为商业组织、大型企业而创建并部暑的解决方案及应用。这些大型企业级应用的结构复杂,涉及的外部资源众多,事务密集、数据规模大、用户数量多,有较强的安全性考虑和较高的性能要求。

  当代的企业级应用绝不可能是一个个的独立系统。在企业中,一般都会部署多个进行交互的应用,同时这些应用又都有可能与其他企业的相关应用连接,从而构成一个结构复杂的、跨越 Internet 的分布式企业应用集群。作为企业级应用,不但要有强大的功能,还要能够满足未来业务需求的变化,易于扩展和维护。
 
  传统 Java 解决企业级应用问题时的“重量级”架构体系,使它的开发效率、开发难度和实际的性能都令人失望。正在人们苦苦寻找解决办法的时候,Spring 以一个 "救世主" 的形象出现在广大的 Java 程序员面前。Spring 的作者 Rod Johnson,2002 年他编写了《 Expert One-on-One Java EE 设计与开发》一书。在书中,他对传统的 Java EE 技术日益臃肿和低效提出了质疑,他觉得应该有更便捷的做法,于是提出了 Interface 21,也就是 Spring 框架的雏形。他提出了技术以实用为准的主张,引发了人们对“正统”Java EE 的反思。2003 年 2 月,Spring 框架正式成为一个开源项目,并发布于 SourceForge 中。
 
  Spring 致力于 Java EE 应用的各种解决方案,而不是仅仅专注于某一层的方案。可以说,Spring 是企业应用开发的 "一站式" 选择,Spring 贯穿表现层、业务层、持久层。Spring 并不想取代那些已有的框架,而是以高度的开放性与它们无缝整合。
 
 
 Spring 资源包下载
  (1)Spring 资源下载地址:http://repo.spring.io/release/org/springframework/spring/ 
   (2)以 Spring Framework 3.2.13 版本为例,下载的压缩包为: spring-framework-3.2.13.RELEASE-dist.zip 。
   (3)spring-framework-3.2.13.RELEASE-dist.zip 解压后文件目录为 docs、libs、schema 。
        docs:该文件夹下包含 Spring 的相关文档,包括 API 参考文档、开发手册。
        libs:该文件夹下存放 Spring 各个模块的 jar 文件,每个模块均提供三项内容:开发所需的 jar 文件、以 -javadoc·后缀表示的 API 和以 -sources 后缀表示的源文件。
        schema:配置 Spring 的某些功能时需要用到的 schema 文件,对于已经集成了 Spring 的 IDE 环境(如 MyEclipse),这些文件不需要专门导入。
 
  说明:作为开源框架,Spring 提供了相关的源文件。在学习和开发过程中,可以通过阅读源文件,了解 Spring 的底层实现。这不仅有利于正确理解和运用 Spring 框架,也有助于开拓思路,提升自身的编程水平。

   

 

初识 Spring 框架的更多相关文章

  1. 初识Spring框架实现IOC和DI(依赖注入)

    学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的, IoC是 ...

  2. 【10分钟学Spring】:(一)初识Spring框架

    简介 Spring是一个轻量级的企业级的Java开发框架.主要是用来替代原来更加重量级的企业级Java技术,比如EJB(Enterprise JavaBean).Java数据对象(Java Data ...

  3. 初识Spring框架

    一.Ioc 1)概念:Ioc(Inversion Of Control)控制反转,也被称为依赖注入DI(Dependency Injection),是面向对象编程的一种思想. 2)作用:用来减低程序代 ...

  4. 初识Spring Boot框架(二)之DIY一个Spring Boot的自动配置

    在上篇博客初识Spring Boot框架中我们初步见识了SpringBoot的方便之处,很多小伙伴可能也会好奇这个Spring Boot是怎么实现自动配置的,那么今天我就带小伙伴我们自己来实现一个简单 ...

  5. 初识Spring Boot框架

    前面的铺垫文章已经连着写了六篇了,主要是介绍了Spring和SpringMVC框架,小伙伴们在学习的过程中大概也发现了这两个框架需要我们手动配置的地方非常多,不过做JavaEE开发的小伙伴们肯定也听说 ...

  6. 初识Spring Boot框架和快速入门

    前面的铺垫文章已经连着写了六篇了,主要是介绍了spring和SpringMVC框架,小伙伴们在学习的过程中大概也发现了这两个框架需要我们手动配置的地方非常多,不过做JavaEE开发的小伙伴们肯定也听说 ...

  7. 深入理解Spring(一):初识Spring

    深入理解Spring(一):初识Spring 一. Spring介绍        Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnso ...

  8. Spring框架概述

    Spring是最流行的Java企业级应用开发框架,全球数以百万的开发者在使用Spring框架创建高性能.易测试.可重用的代码. Spring框架的核心特性可以应用于任何Java应用,但扩展的JavaE ...

  9. Spring 框架的架包分析、功能作用、优点,及jar架包简介

    Spring 框架的架包详解    Spring的作用     Spring的优势  由于刚搭建完一个MVC框架,决定分享一下我搭建过程中学习到的一些东西.我觉得不管你是个初级程序员还是高级程序员抑或 ...

随机推荐

  1. React VSCode插件

    可以安装2个插件,一个是 Atuo Rename Tag 一个 Auto Close Tag 这样就好都了

  2. String类的直接赋值和构造方法赋值的区别

    直接赋值:只开辟一块堆内存空间,而且保存的字符串可以自动入池,以供其他内容相同的字符串对象使用. 构造方法:开辟两块堆内存空间,有一块成为垃圾,并且字符串的内容无法自动入池,但是可以使用String类 ...

  3. 【黑金教程笔记之003】【建模篇】akuei2的Verilog hdl心路

    Verilog hdl不是“编程”是“建模” Verilog hdl语言是一种富有“形状”的语言. 如果着手以“建模”去理解Verilog hdl语言,以“形状”去完成Verilog hdl语言的设计 ...

  4. Mac 下安装配置jdk

    jdk官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 1.  Mac自带了的JDK6,安装在目录:/ ...

  5. [App Store Connect帮助]八、维护您的 App(5)生成产品报告

    您可以生成产品报告,详细介绍您所在机构中 App 目录的信息和设置,包括 App 内购买项目,以及 Game Center排行榜和成就的元数据. 首先您以不同类型请求产品报告,之后您会收到一封电子邮件 ...

  6. [App Store Connect帮助]八、维护您的 App(3)将 App 恢复至 App Store

    如果您已将 App 从 App Store 中移除,之后创建了该 App 的一个新版本,那么即使新版本被“App 审核”批准,App 状态也仍会是“被开发者下架”.若要发布新版本,您必须首先将其恢复至 ...

  7. Hihocoder [Offer收割]编程练习赛70 解题报告 By cellur925

    并没有第四题.(还不会矩阵乘法加速线性数列) 题目1 : 数位翻转 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个数 n,你可以进行若干次操作,每次操作可以翻转 ...

  8. Django models模型

    Django models模型 一. 所谓Django models模型,是指的对数据库的抽象模型,models在英文中的意思是模型,模板的意思,在这里的意思是通过models,将数据库的借口抽象成p ...

  9. 题解报告:poj 2185 Milking Grid(二维kmp)

    Description Every morning when they are milked, the Farmer John's cows form a rectangular grid that ...

  10. how-to-fix-fs-re-evaluating-native-module-sources-is-not-supported-graceful

    http://stackoverflow.com/questions/37346512/how-to-fix-fs-re-evaluating-native-module-sources-is-not ...