Spring 框架介绍
Spring 框架模块
Spring开发环境搭建(Eclipse)
创建一个简单的Spring应用
Spring 控制反转容器(Inversion of Control – IOC)
理解依赖注入(DI – Dependency Injection)
Bean XML 配置(1)- 通过XML配置加载Bean
Bean XML 配置(2)- Bean作用域与生命周期回调方法配置
Bean XML 配置(3)- 依赖注入配置
Bean XML 配置(4)- 自动装配
Bean 注解(Annotation)配置(1)- 通过注解加载Bean
Bean 注解(Annotation)配置(2)- Bean作用域与生命周期回调方法配置
Bean 注解(Annotation)配置(3)- 依赖注入配置
Bean Java配置
Spring 面向切面编程(AOP)
Spring 事件(1)- 内置事件
Spring 事件(2)- 自定义事件


Spring是一个JEE开发框架,开源,轻量级,功能强大。

JEE - Java Enterprise Edition / Java企业版
主要用于开发企业软件的Java版本。企业软件例子:会计软件、帐单管理、业务流程管理、CMS、CRM、ERP等。

Spring框架的核心特性是依赖注入(DI)与面向切面编程(AOP),Spring框架可以看作是一个控制反转的容器。尽管Spring主要用于JEE应用开发,但实际上这2个核心特性可用于任何Java项目。

Spring框架是Java EE开发中最流行的框架,已经成为JEE事实上的标准,全世界的开发人员都在使用Spring框架开发各种应用。

Spring框架是澳大利亚计算机专家Roderick B. Johnson于2002年发布,诞生以来发布了很多版本,目前最新版是5.0

版本 时间 备注
0.9 2002
1.0 2003 正式发布
2.0 2006
3.0 2009
4.0 2013
5.0 2017

Spring框架优点

  • 松耦合,组件(Bean)之间依赖很松,模块可以轻松替换
  • 简单,非侵入式,组件(Bean)本身只是简单的Java对象,无需任何特殊处理,非常简单

依赖注入/DI(控制反转/IOC)

Spring框架2个核心技术之一是依赖注入(Dependency Injection / DI)。

Java程序中,Java类是基本的代码组织单位。当某个类要使用另一个类时,自然的做法是创建另一个类的对象,然后调用该对象的方法。这样做在程序规模较小时没什么问题,但当程序规模很大时这些类之间过于紧密的耦合会导致后续开发维护困难。例如要替换其中某个类,就不得不修改所有涉及这个类的代码。

控制反转(Inversion of Control / IoC)与依赖注入(Dependency Injection / DI)就是为解决这个问题。上面提到类里面创建另外一个类对象会造成耦合太紧,Spring框架就把创建类的行为从类中拿出来放到Spring框架里去做,类与类之间创建关系就没有了。

本来由类控制其所依赖的类对象的创建,现在把创建动作放到Spring框架里了,由框架控制所有类对象的创建,这就是“控制反转”。

框架创建了类所依赖的对象,然后把这些对象传给(注入)依赖它们的类,这就是“依赖注入”。

所以可以看到,Spring框架中控制反转(Inversion of Control / IoC)与依赖注入(Dependency Injection / DI)实际上讲的是同一个事情,只是角度不同。

关于依赖注入,后续会有详细介绍。

面向切面编程/AOP

Spring框架另外一个核心技术是面向切面编程(Aspect Oriented Programming/AOP)。

面向切面编程的主要作用是,在不修改源代码的情况下,可以给目标类打补丁,让其执行补丁中的代码。

例如,用户类中有个登录方法,现在需要加用户登录日志。使用AOP就不需要修改用户登录方法,只需把日志代码注入到用户登录方法前后,让其执行。日志代码就是“切面”,插入代码的地方(用户类的登录方法)就是“连接点”。

关于AOP后续会有详细介绍。

注意:依赖注入/DI(控制反转/IOC)与 面向切面编程/AOP都是基于Java的反射机制。

Spring 框架介绍的更多相关文章

  1. [翻译]Spring框架参考文档(V4.3.3)-第二章Spring框架介绍 2.1 2.2 翻译--2.3待继续

    英文链接:http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/overview.ht ...

  2. Spring框架介绍和原理

    SpringMVC框架介绍 1) Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面. Spring 框架提供了构建 Web 应用程序的全功 ...

  3. Spring 框架介绍 [Spring 优点][Spring 应用领域][体系结构][目录结构][基础 jar 包]

    您的"关注"和"点赞",是信任,是认可,是支持,是动力...... 如意见相佐,可留言. 本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新. 目录 ...

  4. Spring框架介绍及使用

    Spring框架—控制反转(IOC)1 Spring框架概述1.1 什么是Spring1.2 Spring的优点1.3 Spring的体系结构2 入门案例:(IoC)2.1导入jar包2.2目标类2. ...

  5. Spring框架介绍及使用(转载)

    原文链接 Spring框架—控制反转(IOC) 1 Spring框架概述1.1 什么是SpringSpring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod ...

  6. (转)spring 框架介绍

    转自:http://www.cnblogs.com/wawlian/archive/2012/11/17/2775435.html 1.Spring MVC简介 Spring MVC框架是有一个MVC ...

  7. Spring框架核心知识介绍

    一:spring框架介绍   1.spring框架是为了解决复杂的企业级应用而创建的, 使用Spring可以让简单的JavaBean实现之前只有EJB才能完成的事情.但是Spring不仅仅局限于服务器 ...

  8. spring框架学习笔记1:搭建测试

    Spring框架介绍: Spring框架涵盖了web.service.dao三层,本身是一个存放对象的容器 形象来说:Spring是项目中对象管家 Spring框架的两大核心思想:控制反转(IOC). ...

  9. Spring框架模块

    Spring 框架介绍 Spring 框架模块 Spring开发环境搭建(Eclipse) 创建一个简单的Spring应用 Spring 控制反转容器(Inversion of Control – I ...

随机推荐

  1. 【SqlServer】利用sql语句附加,分离数据库-----转载

    利用sqlserver内置的存储过程sp_attach_db和sp_detach_db附加 exec sp_attach_db @dbname=N'数据库名',@filename1=N'.mdf的文件 ...

  2. Linux文件系统层次结构标准FHS

    文件系统层次结构标准(英语:Filesystem Hierarchy Standard,FHS)定义了Linux操作系统中的主要目录及目录内容.FHS由Linux基金会维护. 当前版本为3.0版,于2 ...

  3. 解决css中display:inline-block产生的空隙问题

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. VUE 父子组件之间通信传值 props和 $emit

    1.父组件传值给子组件 $props,子组件传值给父组件 $emit 父组件          <div id="app" >               <tr ...

  5. JS enter键一键登录

    $("body").keydown(function (event) { ) { //enter键键值为13 $('.finish-btn').click(); // $('.fi ...

  6. eclipse不能启动,An internal error occurred during: "reload maven project".

    An internal error occurred during: "reload maven project". 这个错误是因为项目已经关闭,导致 导致此问题的原因是Sprin ...

  7. 前端学习笔记系列一:8 <noscript>…</noscript>,网站路径,vscode跳出右括号

    1.<noscript>…</noscript> 在body中使用此段代码,可识别 <script> 标签但无法支持其中的脚本的浏览器. 此段代码意思为如果浏览器不 ...

  8. Spring JMSTemplate 与 JMS 原生API比较

    博客分类: JMS Spring 2.x   JMSUtil与Spring JmsTemplate的对比 Author:信仰 Date:2012-4-20 未完待续,截止日期2012-4-20 从以下 ...

  9. 十八 JQuery&Ajax&Json&Xstream

    JQuery 1 是什么?有什么用? JavaScript的代码类库 简化代码,提高效率.write less do more 1 JQuery与Servlet数据交互,load方式(少用) 语法:$ ...

  10. PLCsim 软件模拟OB86故障

    用上一节 组态DP主站与标准从站的方法 组态了网络 实现了 将profibus –dp 标准从站 ET200M 下 输入地址为IW2 接口的状态 读取到 主机 DP-315-2DP 的QW0 变量以来 ...