Spring 框架介绍
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 框架介绍的更多相关文章
- [翻译]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 ...
- Spring框架介绍和原理
SpringMVC框架介绍 1) Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面. Spring 框架提供了构建 Web 应用程序的全功 ...
- Spring 框架介绍 [Spring 优点][Spring 应用领域][体系结构][目录结构][基础 jar 包]
您的"关注"和"点赞",是信任,是认可,是支持,是动力...... 如意见相佐,可留言. 本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新. 目录 ...
- Spring框架介绍及使用
Spring框架—控制反转(IOC)1 Spring框架概述1.1 什么是Spring1.2 Spring的优点1.3 Spring的体系结构2 入门案例:(IoC)2.1导入jar包2.2目标类2. ...
- Spring框架介绍及使用(转载)
原文链接 Spring框架—控制反转(IOC) 1 Spring框架概述1.1 什么是SpringSpring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod ...
- (转)spring 框架介绍
转自:http://www.cnblogs.com/wawlian/archive/2012/11/17/2775435.html 1.Spring MVC简介 Spring MVC框架是有一个MVC ...
- Spring框架核心知识介绍
一:spring框架介绍 1.spring框架是为了解决复杂的企业级应用而创建的, 使用Spring可以让简单的JavaBean实现之前只有EJB才能完成的事情.但是Spring不仅仅局限于服务器 ...
- spring框架学习笔记1:搭建测试
Spring框架介绍: Spring框架涵盖了web.service.dao三层,本身是一个存放对象的容器 形象来说:Spring是项目中对象管家 Spring框架的两大核心思想:控制反转(IOC). ...
- Spring框架模块
Spring 框架介绍 Spring 框架模块 Spring开发环境搭建(Eclipse) 创建一个简单的Spring应用 Spring 控制反转容器(Inversion of Control – I ...
随机推荐
- 如何实现从登录接口响应数据中提取JSESSIONID
通过调用接口,对服务器产生压力,单接口测试,会遇到响应数据返回的是要求先登录.这是我们在调用这个接口时,根据业务逻辑,必须先登录才可以,比如:提交订单,那么就需要先获取用户登录的JSESSIONID, ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 按钮:让按钮看起来像个链接 (仍然保留按钮行为)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- SystemVerilog基本语法总结(上)
SystemVerilog基本语法总结(上) 在总结SV的语法之前,先分享一些关于SV的笔试题目,这样更显得具有针对性的总结. a. 验证中,代码覆盖率是指(衡量哪些设计代码在激活触发,而哪一些则一直 ...
- 如何确定Redis集群中各个节点的主从关系
1.首先通过命令(以192.168.203.141为例,-c代表集群的意思) ./redis-cli -h 192.168.203.141 -p 8001 -c 2.然后在输入 cluster no ...
- 渗透测试神器Burp Suite v1.7.11发布(含下载)
BurpSuite是一款信息安全从业人员必备的集成型的渗透测试工具,它采用自动测试和半自动测试的方式,包含了Proxy,Spider,Scanner,Intruder,Repeater,Sequenc ...
- 通过注册码破解IntelliJ IDEA
把激活码填入下面的地方即可.如果不知道在哪里,那么就选菜单栏里的help再选Register就会弹出下面的界面 激活码网址里面有 lookdiv.com 里面的钥匙就是lookdiv.com
- Wincc V7.3SE安装截图
打开某个工程出错,能力所限,找不到问题,没能解决
- Anaconda下的 Jupyter Notebook 安装 多python环境
装完 Anaconda 会自带一个pyhon环境 也会自带Jupyter Notebook 可以点击开始中的Jupyter Notebook 打开 浏览器 我这里是 3.x 想要装个2.7 的 ...
- 赶在EW2020之前,FreeRTOS发布V10.3.0,将推出首个LTS版本
点击下载:FreeRTOSv10.3.0.exe 说明: 1.新版更新: (1)对于IAR For RISC-V进行支持,并且加强了对RISC-V内核芯片支持,做了多处修正. (2)对阿里平头哥CH2 ...
- Java提升二:Lambda表达式与方法引用
1.Lambda表达式 1.1.定义 lambda表达式是对于函数式接口(只含有一个抽象方法的接口)的简洁实现方式.它与匿名内部类的作用相似,但是就使用范围而言,匿名内部类更为广泛,而lambda表达 ...