中软实训(三)SSM框架之介绍Spring
Spring是什么?
Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用 Spring 框架来创建性能好、易于测试、可重用的代码。
Spring 框架是一个开源的 Java 平台,它最初是由 Rod Johnson 编写的,并且于 2003 年 6 月首次在 Apache 2.0 许可下发布。
Spring 是轻量级的框架,其基础版本只有 2 MB 左右的大小。
Spring 框架的核心特性是可以用于开发任何 Java 应用程序,但是在 Java EE 平台上构建 web 应用程序是需要扩展的。 Spring 框架的目标是使 J2EE 开发变得更容易使用,通过启用基于 POJO 编程模型来促进良好的编程实践。
上面的定义来自w3cschool,下面是我的简述:
先看看狭义的理解:
以前Spring指的是Spring Framework,特别是Spring Framework里的一些核心概念和思想,例如依赖注入、数据绑定、Convention over Configuration等等。要理解这些思想,就要从Spring的历史开始讲起。
spring的起源:
spring是被设计用于替代复杂的EJB的一个开源框架。它用基本的java bean来完成以前只能由EJB完成的事情。
那么,什么是JavaBean?
这是一种对实体类的规范。
- 所有属性为private
- 提供默认构造方法
- 提供getter和setter
- 实现serializable接口
一个类满足了以上四个要求,那么它就是一个java bean。别人一听这是个java bean,就明白该怎么用你写的类了。
在实际企业开发中,需要实现事务,安全,分布式,java bean就不好用了.sun公司就开始往上面堆功能,这里java bean就复杂为EJB。
EJB功能强大,但是太重了。此时出现了DI(依赖注入),AOP(面向切面)技术,于是通过简单的java bean也能完成EJB的事情。Spring由此诞生。
下面我们就来介绍依赖注入(DI)和面向切面(AOP)这两个最核心的技术。
什么是依赖注入(DI)?
对于依赖注入的解释,引用自知乎作者:93号选手 的回答。
假如有一个 船(Chuan)类 ,成员变量中肯定需要一个 桨(Jiang) 类,
class Chuan{ Jiang j = new Jiang() ; }
如果船要干什么事,肯定需要桨的参与。所以是十分 “依赖”桨;
来新需求,桨需要统一长度为10米。需要重构:这时候我们需要控制桨的长度为10在构造方法中。我们需要这么写;