Spring概述

Spring概述

Spring是为企业Java最流行的应用程序开发框架。数以百万计的世界各地的开发人员使用Spring框架来创建高性能,易于测试的,可重用的代码。
Spring为企业应用的开发提供了一个轻量级的解决方案。该解决方案方案包括:基于依赖注入的核心机制,基于AOP的声明事物管理与多种持久层技术的整合,以及优秀的Web MVC框架等。
Spring为Java EE应用的表现层、业务逻辑层和数据持久层都提供了极好的解决方案,因为Spring提供的不仅仅是一种框架,而且提供了一种企业应用开发的规范。Spring是实际开发的抽象,以提供的“模板设计”大大简化了应用的开发。

Spring官网: https://spring.io

1.核心技术

Spring框架的核心技术是IoC(控制反转)和AOP(面向切面编程)

1.1 IoC

当某个Java实例(调用者)需要另一个Java实例(被调用者)时,在传统的程序设计过程中,通常由调用者来创建被调用者的实例,而在依赖注入的模式下,创建被调用者的工作由Spring容器来完成,然后注入调用者。

1.2 AOP

面向方面的编程,即 AOP,是一种编程技术,它允许程序员对横切关注点或横切典型的职责分界线的行为(例如日志和事务管理)进行模块化。AOP 的核心构造是方面,它将那些影响多个类的行为封装到可重用的模块中。

2.Spring模块

2.1 核心容器(Core Container)

  • spring-core: 核心工具类,Spring框架其他模块大部分都依赖于spring-core
  • spring-beans: Spring定义的Bean的支持
  • spring-context: 运行时spring容器
  • spring-context-support: spring容器对第三方包的集成支持
  • spring-expression: 使用表达式语言在运行时查询和操作对象

2.2 AOP

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

2.3 消息(Messaging)

  • spring-messaging: 对消息框架和协议的支持

2.4 WEB

  • spirng-web: 提供基础的Web集成的功能,在Web项目中提供Spring容器
  • spring-webmvc: 提供基于Servlet的Spring MVC
  • spring-websocket: 提供WebSocket功能
  • Spring-webmvc-portlet: 提供Portlet环境支持

2.5 数据访问

  • spring-jdbc: 提供基于JDBC的数据库访问支持
  • spring-tx: 提供事务支持
  • spring-orm: 提供ORM(对象映射模型)技术的支持
  • spring-oxm: 提供OXM(对象/XML映射)技术的支持
  • spring-jms: 提供对JMS的支持

3.Spring生态

Spring经过长期的发展,目前可以提供给开发者包括spring-framework在内的更多的其他Spring项目,降低开发难度、提高开发效率。
+ Spring Boot: 使用默认开发配置实现快速开发
+ Spring Cloud: 为分布式系统开发提供工具箱
+ Spring Data: 对主流的关系型和NoSQL数据库提供支持
+ Spring Batch: 简化和优化大量数据的批处理操作
+ Spring Security: 认证和授权保护
+ Spring Social: 提供社交API的集成
+ Spring Mobile: 提供对手机设备的检测功能,为不同的移动设备提供页面支持
+ Spring for Android: 主要提供在Android上消费RESTful的功能
+ Spring Web Service: 提供基于协议有限的SOAP/Web服务   

全部Spring Project:

4.技术特点

1) 低侵入式设计,代码污染极低。
2) 独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺。
3) Spring的DI机制降低了业务对象替换的复杂性,提高了组件之间的解耦。
4) Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用。
5) Spring的ORM和DAO提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问。
6) Spring并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值