Spring入门——简介

今天小编就带大家来了解一下Spring,帮助大家对Spring更轻松的入门(注意:Spring入门容易精通难,大家要有个心理准备哈!)

Spring的简史

Spring的历史网上有很多介绍,下面讲下我亲历的Spring发展的过程。

第一阶段:xml配置

在Spring 1.x时代,使用Spring开发满眼都是xml配置的Bean,随着项目的扩大,我们需要把xml配置文件分放到不同的配置文件里,那时候需要频繁地在开发的类和配置文件之间切换。

第二阶段:注解配置

在Spring2.x时代,随着JDK1.5带来的注解支持,Spring提供了声明Bean的注解(如
@Component、@Service),大大减少了配置量。这时Spring 圈子里存在着一种争论:注解配置和xml配置究竞哪个更好?我们最终的选择是应用的基本配置(如数据库配置)用xml,业务配置用注解。

第三阶段:Java配置

从Spring3.x到现在,Spring提供了Java配置的能力,使用Java配置可以让你更理解你配置的Bean。我们目前刚好处于这个时代,Spring 4.x和Spring Boot都推荐使用Java配置,所以我们在本书通篇将使用Java配置。

Spring的概述

Spring框架是一个轻量级的企业级开发的一站式解决方案。所谓解决方案就是可以基于Spring 解决JavaEE开发的所有问题。Spring框架主要提供了loC容器、AOP、数据访问、Web开发、消息、测试等相关技术的支持。
Spring使用简单的POJO(Plain Old Java Object,即无任何限制的普通java对象)来进行企业级开发。每一个被Spring 管理的Java对象都称之为Bean;而Spring提供了一个loC容器用来初始化对象,解决对象间的依赖管理和对象的使用。

Spring的模块

  • 核心模块(Core Container)
    • pring-Core:核心工具类,Spring其他模块大量使用Spring-Core
    • Spring-Beans:Spring定义Bean的支持
    • Spring-Context:运行时Spring容器
    • Spring-Context-Support:Spring容器对第三方的集成支持
    • Spring-Expression:使用表达式语言在运行时查询和操作对象
  • AOP
    • Spring-AOP:基于代理的AOP控件
    • SpringAspects:基于AspectJ的AOP支持
  • 消息(Messaging)
    • Spring-Messaging:对消息架构和协议的支持
  • Web
    • Spring-Web:提供基础的Web集成的功能,在Web项目中提供Spring的容器
    • Spring-Webmvc:提供基于Servlet的Spring MVC
    • Spring-WebSocket:提供WebSocket功能
    • Spring-Webmvc-Portlet:提供Protlet环境支持
  • 数据访问/集成(Data Access/Integration)
    • Spring-JDBC:提供JDBC访问数据库的支持
    • Spring-TX:提供编程式和声明式的事务支持
    • Spring-ORM:提供对对象/关系映射技术的支持
    • Spring-OXM:提供对对象/XML映射技术的支持
    • Spring-JMS:提供对JMS的支持
      以上就是Spring家族的Spring模块了,当然上面的只是简介,后续小编会做持续更新

Spring的生态

Spring 发展到现在已经不仅仅是Spring框架本身的内容,Spring目前提供了大量的基于Spring的项目,可以用来更深入地降低我们的开发难度,提高开发效率。
目前Spring的生态里主要有以下项目,我们可以根据自己项目的需要来选择使用相应的项目。
接下来小编带大家来看看Spring这个大家族的成员有哪些

  • Spring Boot:使用默认开发配置来实现快速开发
  • Spring XD:用来简化大数据应用开发
  • Spring Cloud:为分布式系统开发提供工具集
  • Spring Data:对主流的关系型和NoSQL数据库的支持
  • Spring Integration:通过消息机制对企业的集成模式(EIP)的支持
  • Spring Batch:简化以及优化大量数据的处理操作
  • Spring Security:通过认证和授权保护应用
  • Spring HATEOAS:基于HATEOAS原则简化REST服务开发
  • Spring Social:与社交网络API(如Facebook、新浪微博等)的集成
  • Spring AMQP:对基于AMQP的消息的支持。
  • Spring Mobile:提供对手机设备检测的功能,给不同的设备返回不同的页面的支持
  • Spring Web Flow:基于Spring MVC提供基于向导流程式的Web应用开发
  • Spring Web Services:提供了基于协议有限的SOAP/Web服务
  • Spring LDAP:简化使用LDAP开发
  • Spring Session:提供一个API及实现来管理用户会话信息

以上就是小编所做的Spring简述,希望能帮助大家来对Spring的了解,当然,后期小编也会对Spring进行更深入的讲解。

原文地址:https://www.cnblogs.com/MagicLoser/p/9964720.html