初识Spring
- 一个开源框架,Rod Johnson创建,为解决复杂的企业应用开发而创建。
- Spring 框架是 Java 应用最广的框架,它的 成功来源于理念,而不是技术本身 ,它的理念包括 IoC (Inversion of Control,控制反转) 和 AOP(Aspect Oriented Programming,面向切面编程) 。
什么是Spring?
- Spring 是一个 轻量级 的 DI / IoC 和 AOP 容器的开源框架 ,来源于 Rod Johnson 在其著作《Expert one on one J2EE design and development》中阐述的部分理念和原型衍生而来。
- Spring 提倡以 “最少侵入” 的方式来管理应用中的代码,这意味着我们可以随时安装或者卸载 Spring。
- 适用范围:任何Java应用
- 根本目的:简化Java开发
(题外话:尽管 J2EE(Java 2 Platform Enterprise Edition) 能够赶上 Spring 的步伐,但 Spring 并没有停止前进,移动开发、社交 API 集成、NoSQL 数据库、云计算以及大数据都是 Spring 正在涉足和创新的领域。Spring 的前景依然会很美好。)
术语介绍
- 框架 :一种 半成品 ,可以帮我们实现一定的基础功能,规定类和对象的创建方法,使用了框架进行开发,相当于已经完成了一部分基础,我们只需要完成另一部分基础就可以完成开发。
- 非侵入式设计 :从框架的角度来看,可以理解为: 无需框架提供类 。这样在更换框架的时候,可以更加方便, 拒绝了对框架的依赖 。
- 轻量级与重量级 :轻量级一般为 非入侵性、依赖少、资源占用少、部署简单 等,而重量级恰好相反。
- JavaBean :符合 JavaBean 规范的 Java 类。(JavaBean属性名要求:前两个字母要么都大写,要么都小写。其实在用IDEA、Eclipse编写时IDE也有提示。)
- POJO :即 Plain Old Java Objects , 简单老式 Java 对象 ,它可以包含业务逻辑或持久化逻辑,但不担当任何特殊角色且不继承或不实现任何其它Java框架的类或接口。
注明 :虽然Spring是用JavaBean来表示组件,但是使用的时候不是必须遵循。
- 容器 :从程序设计来说,是 装对象的对象 ,具有放入拿出等操作,也可以 管理对象的生命周期 。
Spring优势
- 低侵入性/低耦合性
- 声明式事务管理 (在切面会提到是什么)
- 方便集成其他框架
- 降低开发难度 (显然)
- 对J2EE有一站式的解决方案
框架结构:

学习这个框架还有很多自己慢慢搜吧 啊哈哈
IOC/DI与AOP
IOC:Inverse of Control(控制反转)
- 不是技术而是 思想 就是将手动创建对象的控制权交给Spring框架管理。
- 正控 :若要使用对象,需要自己负责对象创建。
- 反控 :若要使用对象,只需要从Spring容器获取对象,不关心创建过程,也就是控制反转给了Spring框架。
- 相当于好莱坞法则 :不要给我们打电话,我们会给你打电话(don‘t call us, we‘ll call you),把权力交给对方完全控制。
- 栗子
我想吃土豆丝
- 正控:买土豆-》切土豆-》炒土豆 (创建过程)
- 反控:去餐厅-》点一份土豆丝(描述需求)-》服务员送上来(满足需求)
DI:Dependency Injection(依赖注入)
- Spring 创建对象的过程中,将对象依赖属性(简单值,集合,对象)通过配置设值给该对象。
AOP:Aspect Oriented Programming(面向切面编程)
首先把功能分为核心业务和周边功能。
Spring初识
原文:https://www.cnblogs.com/agrinJPG/p/13396363.html