1.1 Spring基础: Spring简史

1.1 Spring基础: Spring简史

在这里插入图片描述

1.1.1 Spring的发展简史

第一阶段:XML配置

在Spring1.x时代,使用Spring满眼都是XML配置的Bean -> 需要频繁的在开发的类和配置文件之家切换

第二阶段: 注解配置

在Spring2.x时代,随着JDK1.5带来的注解支持,Spring提供了声明Bean的注解(@Component,@Service) -> 大大减少了配置量.
在Spring圈子存在的争论,注解配置和XML哪个更好?
-> 最终选择:应用的基本配置(数据库配置)用XML,业务配置用注解

第三阶段:java配置

从Spring3.x到现在,Spring提供了java配置(@Configuration 和 @Bean)能力
-> Spring4.x和Spring Boot 都推荐Java配置,通篇使用Java配置

1.1.2 Spring概述

1.Spring使用简单的POJO(Plain Ordinary Java Object)普通java对象,来进行企业开发
2.Bean:每一个被Spring管理的Java都称为Bean
3.Spring提供了IoC容器来初始化对象,解决依赖管理

1.Spring的模块
1.1 Spring基础: Spring简史_第1张图片

1.核心容器(Core Container)
  1.1 Core :   核心工具类,Spring其他模块大量的使用Core
  1.2 Beans:    Spring定义Bean的工具
  1.3 Context: 运行时Spring容器
  1.4 SpEl:     使用表达式语言在运行时查询和操作对象
2.AOP(基于代理的AOP支持)
3.Aspect(基于Aspect的AOP支持)
4.Instrumentation
5.Messaging(消息) 
  Spring-Messaging 对消息架构和协议的支持
6.Data Access/Integration(数据访问/集成)
  6.1 JDBC:提供以JDBC方式访问数据库的支持
  6.2 TX(Transaction缩写):提供编程式事务和声明式事务
  6.3 PRM 提供对象/关系映射技术
  6.4 OXM 提供对象/XML映射关系
  6.5 JMS 提供JMS支持
7.Web()
  7.1 web 提供基础的Web集成功能
  7.2 portlet:提供portlet的支持
  7.3 WebSocket:提供WebSocket的支持
  7.4 servlet

2.Spring生态

Spring提供了大量基于Spring的项目,来提高开发效率。
Spring的生态项目:
1.SpringBoot          :默认使用开发配置来实现快速开发
2.Spring XD           :用来简化大数据开发
3.Spring Cloud        :为分布式系统开发提供工具集
4.Spring Data         :对主流的关系和NoSql数据库的支持
5.Spring Integration  :通过消息机制对企业集成模式(EIP)的支持
6.Spring Batch        :简化及优化大量数据的批处理操作
7.Spring HATEOAS      :基于HATEOAS原则简化了Rest服务的开发
8.Spring Socail       :与社交网络API(如FaceBook,新浪微博)的集成
9.Spring ANQP         :对基于AMQP消息的支持
10.Spring Mobile      :提供对手机设备的检测功能,给不同的设备返回不同的界面支持
11.Spring for Android :主要提供Android上消费RESTFUL API的功能
12.Spring Web Flow    :基于SpringMVC 提供基于向导流程式的web应用开发
13.Spring LDAP        :简化使用LDAP开发
14.Spring Session     :提供了一个API及实现来管理用户会话

你可能感兴趣的:(SpringBoot完整版)