您的位置:首页 > 编程语言 > Java开发

[置顶] 【Spring】每个程序员都使用Spring(一)——什么是Spring

2018-01-18 10:25 281 查看

一、前言

从这篇博客开始,小编就向大家分享spring相关的知识,可以说,做过java开发的,没有不接触spring的。spring使用也是非常方便的。在网上也有很多关于spring的资料,从2003年起,spring创建到现在spring 5 ,越来越完善,越来越好用。从xml配置到注解配置,代码越来越简单。

下面小编就向大家分享spring的相关系列。

二、spring的前世今生

首先,spring是一个开源框架。2003年起由Rod Johnson阐述的思想演变过来的。spring的核心就是控制反转(IOC)和面向切面编程(AOP)。可以说spring是一个轻量级的、一站式的开源框架。

spring的发展过程:

第一个阶段:xml配置阶段

在是spring 1.x时代,使用spring开发,基本都是在xml文件中配置bean,随着项目越来越大,xml 总写入很多bean的配置。

第二个阶段:注解配置

在spring 2.x 时代,随着JDK1.5 对注解的支持,spring提供了声明Bean的注解(@Component,@Service),从而大大减少了xml文件中配置bean的配置量。

第三个阶段:Java配置

从spring3.x到现在,spring提供了Java配置能力,Java配置可以让我们使用注解配置任何东西,可以做到零配置文件。最好的例子就是spring boot。

三、spring模块

spring是使用简单的POJO(Plain Old Java Object),无任何限制的 普通java对象,来进行企业开发的。每一个被spring管理的对象都称为bean,spring提供一个Ioc容器来初始化对象,解决对象间的依赖管理和对象的使用。



上图就是spring的各个模块。

核心容器(Core Container)

Spring-beans:spring定义bean支持

spring-core:核心工具类,其他模块大量使用spring-core

spring-contest:运行时的spring容器

spring-expression:使用表达式语言在运行时查询和操作对象

AOP (面向切面)

spring-aop:基于代理的AOP支持

spring-Aspects:基于Aspectj的AOP支持

消息

Spring-Message:对消息架构和协议的支持

web

spring-web:提供基础的web集成功能,在web项目中提供spring的容器

spring-webmvc:提供基于Servlet的Spring MVC

spring-webSocket:提供WebSocket功能

spring-webmvc-portlet:提供Portlet环境支持

数据访问、集成(Data Access/Integration)

Spring-JDBC:提供JDBC访问数据库支持

spring-TX:提供编程式和声明式事务支持

spring-ORM:提供对象、关系映射技术支持

spring-OXM:提供对对象、xml映射技术支持

spring-JMS:提供对JMS支持

四、小结

通过对spring的模块和spring的发展,可以说对spring有了更加宏观的了解,不谋全局者不足谋一域,在研究技术的时候,还是要有一个全局观,然后思维导图跟上。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: