Spring基础

起源

Spring最大的目的之一就是使J2EE开发更容易,Spring不仅仅是一个单层框架,而是类似一个平台或者生态系统。在这个平台或者生态系统中,可以将Struts,Hibernate等单层框架最佳的方式融合在一起。

简介

一句话概括:Spring就是一个开源的轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
开源:因为开源,免费,用户无需经过任何人同意即可修改代码,可控制性强,不受他人限制。
轻量级:从大小与开销两方面而言,Spring都是轻量级的。完整的Spring框架可以在一个只有1MB大小的JAR文件里发布,并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的,Spring应用中的对象不依赖于Spring的特定类。
控制反转:软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准,划分一个模块的准则就是高内聚低耦合,Spring通过控制反转技术降低了耦合度。
面向切面:Spring支持面向切面的编程,允许通过分离业务逻辑与系统级服务进行内聚性的开发,应用对象只实现业务逻辑,并不负责其他系统级关注点,例如日志或事物支持。
容器:容器就是用来装东西的。Spring容器包含并管理应用对象的配置和生命周期。
框架:Spring可以将简单的组件配置,组合成复杂的应用,相当于一个脚手架,开发者要做的就是把组件放进去,实现业务逻辑。

框架结构

Spring有20多个模块组成,可以分为核心容器(Core Container),数据访问/集成(Data Access/Integration),Web,面向切面编程(AOP,Aspect Oriented Programming),设备(Instrumentation),消息发送(Messaging)和测试(Test)

  1. 核心容器
    核心容器包括spring-core,spring-beans,spring-context,spring-context-support和spring-expression这些模块。
    spring-core和spring-beans构成了框架最基础的部分,包含控制反转和依赖注入功能。
    spring-context是基于spring-core和spring-beans构建的,提供了一种已框架风格来访问对象的方式,类似于JNDI注册。ApplicationContext接口是spring-context的焦点。
    spring-context-support为集成第三方库提供支持。
    spring-expression提供了一种强大的表达式语言,可以在运行时查询和操作对象。
  2. AOP
    spring-aop模块提供了一个AOP面向切面编程的实现。
    spring-aspects模块提供与AspectJ的集成。
    spring-instrument提供一些类级的工具支持和ClassLoader级的实现,用于服务器。spring-instrument-tomcat模块针对tomcat的instrument实现。
  3. 消息发送
    从Spring4开始包含了一个spring-messaging模块,对Spring集成项目Message,MessageChannel和MessageHandler进行了重要的抽象,是基于消息发送应用的基础。
  4. 数据访问/集成
    数据访问/集成层包含JDBC(spring-jdbc),ORM(spring-orm),OXM(spring-oxm),JMS(spring-jms)和事物(spring-tx)。
  5. Web
    Web层包含spring-web,spring-webmvc,spring-websocket和spring-webflux模块。其中sprin-web提供了面向Web集成的基本特性,比如文件上传功能。spring-webmvc模块包含了Spring的MVC和REST Web Service实现。spring-webflux是一个新的非堵塞函数式Reactive Web框架,可以用来建立异步的,非阻塞,事件驱动的服务,并且文件爱你扩展性非常好。
  6. 测试
    Spring-test模块支持Spring组建的JUnit和TestNG的单元测试和集成测试。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值