初识 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. Ruby 动态生成变量

    创建: 2018/03/21 更新: 2018/03/22 把标题ruby首字母大写 方法一: eval将字符串作为代码执行, 故写在里边 eval("@#{view_name.to_s} ...

  2. [Swift]扩展String类:实现find()查找子字符串在父字符串中的位置

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  3. 深入学习Ajax

    1.什么是Ajax? AJAX的全称是Asynchronous Javascript And XML (异步的JavaScript和XML).是一种在无需重新加载整个网页的情况下,能够更新部分网页的技 ...

  4. pytest单侧模块_入门汇总

    Pytest简单介绍 (pytest是python的一个测试框架,主要是用来进行一些小的测试) 安装:pip install -U pytest 查看是否安装成功:pytest --version 运 ...

  5. SSM-避坑记(一)

    在运行测试类的时候的报错,内容如下 报错: class path resource [spring/spring-search.xml] cannot be opened because it doe ...

  6. iOS 实现复选框 checkbox --转

    转自:http://www.cnblogs.com/ygm900/p/3468891.html  -(void)checkboxClick:(UIButton *)btn{    btn.select ...

  7. 在Windows上部署Zabbix客户端

    将Zabbix for Windows客户端拷贝到windows系统的c盘,修改配置文件的相关配置项后,打开cmd窗口执行: # 安装服务 c:\zabbix\bin\win32\zabbix_age ...

  8. [转]Resolve Team Foundation Version Control conflicts

    本文转自:http://msdn.microsoft.com/en-us/library/ms181432.aspx An advantage of using Team Foundation ver ...

  9. 表单<form></form>提交方式的区别

    <form action="" method="get/post"> 表单<form></form>的提交方式有两种:pos ...

  10. js实现表单checkbox的单选,全选

    全选&单选 //<input type="checkbox" name="" class="quan" value=" ...