Spring简介
Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。
1. 简介
- Spring:给软件行业带来了春天
- 雏形:2002年interface21框架。
- Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了1.0正式版。
- Rod Johnson,Spring Framework创始人,注明作者。悉尼大学博士,专业非计算机,而是音乐学。
- Spring理念:Spring makes Java simple.
2. 优点
- Spring是一个开源免费的框架。
- Spring是一个轻量级的、非入侵式的框架。
- 控制反转(IOC)和面向切面编程(AOP)
- 支持事务的处理。
- 支持对框架的整合。
3. 组成
4. Maven依赖
<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.3.9</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.9</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.3.9</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-aop -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>5.3.9</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
5. 扩展
SpringBoot:一个快速开发的脚手架,基于SpringBoot可以快速的开发单个微服务。
SpringCloud:基于SpringBoot实现。
上述二者的前提需要掌握Spring和SpringMVC。
6. 弊端
配置繁琐。
7. Spring是如何简化Java开发的
为了降低Java开发的复杂性,Spring采用了以下4种关键策略:
1、基于POJO的轻量级和最小侵入性编程,所有东西都是bean;
2、通过IOC,依赖注入(DI)和面向接口实现松耦合;
3、基于切面(AOP)和惯例进行声明式编程;
4、通过切面和模版减少样式代码,RedisTemplate,xxxTemplate;