Spring相关

简介: 创建Spring的主要目的是用来替代更加重量级的企业级Java技术,尤其是EJB.相对于EJB来说,Spring提供了更加轻量级和简单的编程模型.它增强了简单老式Java对象(Plain Old Java object, POJO)的功能,使其具备了之前只有EJB和其它企业级Java规范才具有的功能.

创建Spring的主要目的是用来替代更加重量级的企业级Java技术,尤其是EJB.

相对于EJB来说,Spring提供了更加轻量级和简单的编程模型.它增强了简单老式Java对象(Plain Old Java object, POJO)的功能,

使其具备了之前只有EJB和其它企业级Java规范才具有的功能.

为了降低Java开发的复杂性,Spring采取了以下4种关键策略:

- 基于POJO的轻量级和最小侵入性编程.

- 通过依赖注入和面向接口实现松偶合.

- 基于切面和惯例进行声明式编程.

- 通过切面和模板减少样板式代码.

 

DI能够让相互协作的软件组件保持松散耦合,而面向切面编程(aspect-oriented programming,AOP)允许你把遍布应用各处的功能

分离出来形成可重用的组件.

除了DI,Spring对AOP的支持可以帮助应用将散落在各处的逻辑汇集于一处 ---- 切面. 当Spring 装配bean的时候,这些切面能够在

运行期编织起来,这样就能非常有效地赋予bean新的行为.

DI和AOP是Spring框架最核心的部分,因此只有理解了如何应用Spring最关键的功能,你才有能力使用Spring框架的其它功能.

 

Spring Portfolio (Spring开发的其它模块汇总) 中的项目简介: 可查阅 https://spring.io/projects

- Spring Web Flow

Spring Web Flow 建立于Spring MVC框架之上,它为基于流程的会话式Web应用(购物车或向导功能)提供了支持.

- Spring Web Service

虽然核心的Spring框架提供了将Spring bean以声明的方式发布为Web Service的功能,但是这些服务是基于一个具有争议性的架构(拙劣的契约后置模型)之上而构建的.

这些服务的契约由bean的接口来决定.Spring Web Service提供了契约优先的Web Service模型,服务的实现都是为了满足服务的契约而编写的.(...)

- Spring Security

安全对于许多应用都是一个非常关键的切面,利用Spring AOP, Spring Security为Spring应用提供了声明式的安全机制.

- Spring Integration

许多企业级应用都需要与其它应用进行交互, Spring Integration提供了多种通用应用集成模式的Spring声明式风格实现.

- Spring Batch

当我们需要对数据进行大量操作时,没有任何技术可以比批处理更胜任这种场景.如果需要开发一个批处理应用,你可以通过Spring Batch,使用Spring强大的面向POJO的编程模型.

- Spring Data

Spring Data使得在Spring中使用任何数据库都变得非常容易.尽管关系型数据库统治企业级应用多年,但是现代化的应用正在认识到并不是所有的数据都适合放在一张表中的行和列中.

一种新的数据库种类,通常被称之为NoSQL数据库,提供了使用数据的新方法,这些方法会比传统的关系型数据库更为合适.

不管是使用文档数据库,如MongoDB,图数据库,如Neo4j,还是传统的关系型数据库,Spring Data都为持久化提供了一种简单的编程模型.这包括为多种数据库类型提供了一种自动化的

Repository机制,它负责为你创建Repository的实现.

- Spring Social

关于社交网络的扩展模块.Spring Social更多的是关注连接(connect),而不是社交(social).它能够帮助你通过REST API连接Spring应用,其中有些Spring应用可能原本并没有任何社交方面

的功能目标.

- Spring Mobile

移动应用是另一个引人瞩目的软件开发领域.Spring Mobile是Spring MVC新的扩展模块,用于支持移动Web应用开发.

- Spring for Android

与Spring Mobile相关项目,旨在通过Spring框架为开发基于Android设备的本地应用提供某些简单的支持.最初,这个项目提供了Spring RestTemplate的一个可以用于Android应用之中的版本.

它还能与Spring Social协作,使得原生应用可以通过REST API进行社交网络的连接.

- Spring Boot

Spring极大地简化了众多的编程任务,减少甚至消除了很多样板式代码,如果没有Spring的话,在日常工作中你不得不编写这样的样板式代码.

Spring Boot是一个崭新的令人兴奋的项目,它以Spring的视角,致力于简化Spring自身.

Spring Boot大量依赖于自动配置技术,它能够消除大部分(在很多场景中,甚至是全部)Spring配置.它还提供了多个Starter项目,不管你使用Maven还是Gradle,这都能减少Spring工程构建文件的大小.

 

将编程看作是一门艺术,而不单单是个技术。 敲打的英文字符是我的黑白琴键, 思维图纸画出的是我编写的五线谱。 当美妙的华章响起,现实通往二进制的大门即将被打开。
相关文章
|
7月前
|
人工智能 网络协议 Linux
MCP 协议: Streamable HTTP 是最佳选择
随着AI应用变得越来越复杂并被广泛部署,原有的通信机制面临着一系列挑战。近期MCP仓库的PR #206引入了一个全新的Streamable HTTP传输层替代原有的HTTP+SSE传输层。本文将详细分析该协议的技术细节和实际优势。
3818 100
|
8月前
|
XML 存储 大数据
Harmony os next~HarmonyOS Ability与页面跳转开发详解
HarmonyOS采用分布式架构,其Ability体系包括Page、Service、Data和Form四大类型Ability。Page Ability支持多页面跳转与数据传递,Service Ability用于后台任务,Data Ability提供数据共享接口,Form Ability实现轻量化卡片服务。本文详细解析了各Ability的开发方法、生命周期管理、跨Ability通信及最佳实践,帮助开发者掌握HarmonyOS应用开发的核心技能。
655 0
|
Python
python类型错误(TypeError)
【7月更文挑战第13天】
504 9
|
NoSQL 关系型数据库 MySQL
实时计算 Flink版产品使用问题之作业在全量导入后结束,是什么原因
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
11月前
|
存储 C语言
【C语言】输入/输出函数详解
在C语言中,输入/输出操作是通过标准库函数来实现的。这些函数分为两类:标准输入输出函数和文件输入输出函数。
1284 6
|
缓存 前端开发 JavaScript
优化前端性能的10个实用技巧
提高网站或应用程序的性能是前端开发中至关重要的一部分。本文将介绍10个实用的技巧,帮助前端开发人员优化其项目的性能,包括减少HTTP请求、使用CDN加速、压缩和合并文件、优化图片等方面的技术手段,以提升用户体验和网站加载速度。
|
Java 测试技术 数据库连接
|
Linux Shell 开发工具
CentOS下安装.net core环境并部署WebAPI
CentOS下安装.net core环境并部署WebAPI
749 0
CentOS下安装.net core环境并部署WebAPI
|
安全 开发工具 git
Raft实现报告(二)
Raft实现报告(二)
164 0
|
关系型数据库 MySQL 数据库
Mysql事务的特性和应用场景介绍
事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性
584 1