Spring认证框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。Spring是Java EE编程领域的一个轻量级开源框架,该框架由一个叫Rod Johnson的程序员在 2002 年最早提出并随后创建,是为了解决企业级编程开发中的复杂性,实现敏捷开发的应用型框架 。
简介
Spring是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能。Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。因此, Spring不仅仅能应用于J2EE应用程序之中,也可以应用于桌面应用程序以及小应用程序之中。Spring框架主要由七部分组成,分别是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC。
容器
Spring 设计的核心是 org.springframework.beans 包,它的设计目标是与 JavaBean 组件一起使用。这个包通常不是由用户直接使用,而是由服务器将其用作其他多数功能的底层中介。下一个最高级抽象是BeanFactory接口,它是工厂设计模式的实现,允许通过名称创建和检索对象。BeanFactory 也可以管理对象之间的关系。Bean Factory 支持两个对象模型:
1、单态模型提供了具有特定名称的对象的共享实例,可以在查询时对其进行检索。Singleton是默认的也是最常用的对象模型。对于无状态服务对象很理想。
2、原型模型确保每次检索都会创建单独的对象。在每个用户都需要自己的对象时,原型模型最适合。bean 工厂的概念是 Spring 作为 IOC 容器的基础。IOC 将处理事情的责任从应用程序代码转移到框架。
作用
微服务
微服务架构是“新常态”。构建小型、独立的、随时可以运行的应用程序可以为您的代码带来极大的灵活性和弹性。Spring Boot 的许多定制的功能使在生产中大规模构建和运行微服务变得容易。并且不要忘记,没有Spring Cloud 的微服务架构是不完整的,Spring Cloud可以简化管理并提高容错能力。
响应式
响应式系统具有某些特性,使其成为低延迟、高吞吐量工作负载的理想选择。Project Reactor 和 Spring 产品组合协同工作,使开发人员能够构建具有响应式、弹性和消息驱动的企业级响应式式系统。
云
开发分布式系统可能具有挑战性。复杂性从应用层转移到网络层,需要服务之间进行更多的交互。使您的代码成为“云原生”意味着处理12要素诸如外部配置、无状态、日志记录和连接到支持服务等问题。Spring Cloud 项目套件包含使应用程序在云中运行所需的许多服务。
网络应用
Spring 使构建 Web 应用程序变得快速而轻松。通过删除与 Web 开发相关的大部分样板代码和配置,您可以获得一个现代 Web 编程模型,该模型简化了服务器端 HTML 应用程序、REST API 和双向、基于事件的系统的开发。
无服务器
无服务器应用程序利用现代云计算功能和抽象,让您专注于逻辑而不是基础设施。在无服务器环境中,您可以专注于编写应用程序代码,而底层平台负责扩展、运行时、资源分配、安全性和其他“服务器”细节。
事件驱动
事件驱动的系统反映了现代企业的实际运作方式——每天都在发生数以千计的小变化。Spring 能够处理事件并使开发人员能够围绕它们构建应用程序,这意味着您的应用程序将与您的业务保持同步。Spring 有许多事件驱动的选项可供选择,从集成和流式传输一直到云功能和数据流。
批量
有效处理大量数据的能力使其成为许多用例的理想选择。Spring Batch 对行业标准处理模式的实现让您可以在 JVM 上构建健壮的批量处理作业。从 Spring 产品组合中添加 Spring Boot 和其他组件可让您构建任务关键型批量处理应用程序。