热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Spring框架概述

1.什么是springspring在不同的背景下意味着不同的东西。它可以用来引用SpringFramework项目本身,它就是一切开始的地方。随着时间的推移,其他Spring项目已

1.什么是spring

spring在不同的背景下意味着不同的东西。它可以用来引用Spring Framework项目本身,它就是一切开始的地方。随着时间的推移,其他Spring项目已经构建在Spring Framework之上。

Spring框架分为几个模块。应用程序可以选择所需的模块。核心是核心容器的模块,包括配置模型和依赖注入机制。除此之外,Spring Framework还为不同的应用程序体系结构提供了基础支持,包括消息传递,事务数据和持久性以及Web。它还包括基于Servlet的Spring MVC Web框架,以及Spring WebFlux响应式Web框架。

Spring的框架jar允许部署到JDK 9的模块路径(“Jigsaw”)。为了在支持Jigsaw的应用程序中使用,Spring Framework 5 jar带有“Automatic-Module-Name”清单条目,它们定义了独立于jar工件的稳定语言级模块名称(“spring.core”,“spring.context”等)名称(罐子使用相同的命名模式,而不是“。“


2. Spring的历史和Spring框架



  • Servlet API(JSR 340)



  • WebSocket API(JSR 356)



  • 并发实用程序(JSR 236)



  • JSON绑定API(JSR 367)



  • Bean验证(JSR 303)



  • JPA(JSR 338)



  • JMS(JSR 914)



  • 以及必要时用于事务协调的JTA / JCA设置。



随着时间的推移,Java EE在应用程序开发中的作用也在不断发展。在Java EE和Spring的早期,创建了应用程序以部署到应用程序服务器。今天,在Spring Boot的帮助下,应用程序以devops和云友好的方式创建,Servlet容器嵌入并且变得微不足道。从Spring Framework 5开始,WebFlux应用程序甚至不直接使用Servlet API,并且可以在不是Servlet容器的服务器(例如Netty)上运行。


3.设计理念

Spring Framework的指导原则:



  • 提供各个层面的选择。Spring允许您尽可能晚地推迟设计决策。例如,您可以通过配置切换持久性提供程序,而无需更改代码。许多其他基础架构问题以及与第三方API的集成也是如此。



  • 适应不同的观点。Spring拥抱灵活性,并不认为应该如何做。它以不同的视角支持广泛的应用需求。



  • 保持强大的向后兼容性。Spring的演变经过精心设计,可以在版本之间进行一些重大改变。Spring支持精心挑选的JDK版本和第三方库,以便于维护依赖于Spring的应用程序和库。



  • 关心API设计。Spring团队花了很多心思和时间来制作直观的API,这些API在很多版本和多年中都有用。



  • 为代码质量设定高标准。Spring Framework非常强调有意义的,最新的和准确的javadoc。它是极少数项目之一,可以声称干净的代码结构,包之间没有循环依赖。



 

 



推荐阅读
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 实战基于SpringBoot2的WebFlux和mLab搭建反应式Web
    SpringFramework5带来了新的ReactiveStack非阻塞式Web框架:SpringWebFlux。作为与SpringMVC并行使用的Web框架,SpringWeb ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • SpringMVC工作流程概述
    SpringMVC工作流程概述 ... [详细]
  • 前言最近一段时间在整公司项目里一个功能的优化,用到了多线程处理。期间也是踩了不少的坑,在这里想说下我遇到的问题和注意事项。以及怎样知道启动的那些多线程都 ... [详细]
  • 阿里首席架构师科普RPC框架
    RPC概念及分类RPC全称为RemoteProcedureCall,翻译过来为“远程过程调用”。目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程 ... [详细]
  • 全局角度出发讨论敏捷
    JonKern对于是什么促成了敏捷的成功有着自己读到的见解。你可能会不同意他的观点。下面列出了一些建立在项目全局角度之上的关键实践,项目本身就是从此开始的。如果不能从系统角度来做项目,那它就不能达到预期的效果,甚至可能会失败。我很早以前就认为,开发软件就像是在完成一个很长的待办事项列表。我试了很多方法来运行项目,从记事贴到Jira(从Jira刚发布起我就开始使用)。我使用传统Scrum风格的Spr ... [详细]
  • SpringMVC 12 使用请求参数和返回值的Object类型
    对返回Objec ... [详细]
  • 开发笔记:SpringBoot学习开发web应用
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了SpringBoot学习开发web应用相关的知识,希望对你有一定的参考价值。SpringBoot ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 杂谈,微服务API Gateway
    让我们想象一下你正在建立一个使用微服务模式的网上商店,你所用的产品详细信息页面。你需要开发多个版本的产品详情界面:l由服务器端Web应用程序生成的HTM ... [详细]
author-avatar
叮2011_923
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有