初识 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. 适用于PHP初学者的学习线路和建议

    [导读] 这篇文章是围绕PHP的学习问题,之前介绍过<重磅资料!Github上的PHP资源汇总大全><深入探讨PHP类的封装与继承><PHP的学习规划建议>等对PH ...

  2. 查询及删除重复记录的SQL语句

    1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from ...

  3. javascript 冒泡与捕获的原理及操作实例

    所谓的javascript冒泡与捕获不是数据结构中的冒泡算法,而是javascript针对dom事件处理的先后顺序,所谓的先后顺序是指针对父标签与其嵌套子标签,如果父标签与嵌套子标签均有相同的事件时, ...

  4. 【数据结构(C语言版)系列一】 线性表

    最近开始看数据结构,该系列笔记简单记录总结下所学的知识,更详细的推荐博主StrayedKing的数据结构系列,笔记部分也摘抄了博主总结的比较好的内容. 一些基本概念和术语 数据是对客观事物的符号表示, ...

  5. 数据结构 - 链队列的实行(C语言)

    数据结构-链队列的实现 1 链队列的定义 队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出而已, 我们把它简称为链队列.为了操作上的方便,我们将队头指针指向链队列的头结点,而队尾指针指 ...

  6. border-1px的实现(stylus)

    当样式像素一定时,因手机有320px,640px等.各自的缩放比差异,所以设备显示像素就会有1Npx,2Npx.为保设计稿还原度,解决就是用media + scale. // stylus语法 bor ...

  7. SQL Server 编程入门

    一.T—SQL 的组成 1.DML(数据操作语言 Data Manipulation Language) 查询.插入.删除和修改数据库中的数据.SELECT.INSERT.UPDATE.DELETE ...

  8. hihocoder1703 第K小先序遍历

    思路: 给定n个节点二叉树的中序遍历,不同形态的二叉树的种类数有卡特兰数个.为了在中序序列[l, r]表示的子树上找先序序列第k小的树,首先需要从小到大枚举每个节点作根所能构成的二叉树的数目来确定树根 ...

  9. 把json数据转化成对象

    把json数据转化到一个对象中,再用对象直接调用 package com.lxj.register; import java.io.BufferedReader; import java.io.IOE ...

  10. Java集合框架源码(三)——arrayList

    1. ArrayList概述: ArrayList是List接口的可变数组的实现.实现了所有可选列表操作,并允许包括 null 在内的所有元素.除了实现 List 接口外,此类还提供一些方法来操作内部 ...