厦门网站建设2015,中铁建工集团有限公司官网,家装公司是做什么的,session WordPress1、概述
1.1、Spring是什么#xff1f;
Spring 是一款主流的 Java EE 轻量级开源框架 #xff0c;Spring 由“Spring 之父”Rod Johnson 提出并创立#xff0c;其目的是用于简化 Java 企业级应用的开发难度和开发周期。Spring的用途不仅限于服务器端的开发。从简单性、可测…
1、概述
1.1、Spring是什么
Spring 是一款主流的 Java EE 轻量级开源框架 Spring 由“Spring 之父”Rod Johnson 提出并创立其目的是用于简化 Java 企业级应用的开发难度和开发周期。Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言任何Java应用都可以从Spring中受益。Spring 框架除了自己提供功能外还提供整合其他技术和框架的能力。
Spring 自诞生以来备受青睐一直被广大开发人员作为 Java 企业级应用程序开发的首选。时至今日Spring 俨然成为了 Java EE 代名词成为了构建 Java EE 应用的事实标准。
自 2004 年 4 月Spring 1.0 版本正式发布以来Spring 已经步入到了第 6 个大版本也就是 Spring 6。本课程采用Spring当前最新发布的正式版本6.0.2。 1.2、Spring 的狭义和广义
在不同的语境中Spring 所代表的含义是不同的。下面我们就分别从“广义”和“狭义”两个角度对 Spring 进行介绍。
广义的 SpringSpring 技术栈
广义上的 Spring 泛指以 Spring Framework 为核心的 Spring 技术栈。
经过十多年的发展Spring 已经不再是一个单纯的应用框架而是逐渐发展成为一个由多个不同子项目模块组成的成熟技术例如 Spring Framework、Spring MVC、SpringBoot、Spring Cloud、Spring Data、Spring Security 等其中 Spring Framework 是其他子项目的基础。
这些子项目涵盖了从企业级应用开发到云计算等各方面的内容能够帮助开发人员解决软件发展过程中不断产生的各种实际问题给开发人员带来了更好的开发体验。
狭义的 SpringSpring Framework
狭义的 Spring 特指 Spring Framework通常我们将它称为 Spring 框架。
Spring 框架是一个分层的、面向切面的 Java 应用程序的一站式轻量级解决方案它是 Spring 技术栈的核心和基础是为了解决企业级应用开发的复杂性而创建的。
Spring 有两个最核心模块 IoC 和 AOP。
IoCInverse of Control 的简写译为“控制反转”指把创建对象过程交给 Spring 进行管理。
AOPAspect Oriented Programming 的简写译为“面向切面编程”。AOP 用来封装多个类的公共行为将那些与业务无关却为业务模块所共同调用的逻辑封装起来减少系统的重复代码降低模块间的耦合度。另外AOP 还解决一些系统层面上的问题比如日志、事务、权限等。
1.3、Spring Framework特点 非侵入式使用 Spring Framework 开发应用程序时Spring 对应用程序本身的结构影响非常小。对领域模型可以做到零污染对功能性组件也只需要使用几个简单的注解进行标记完全不会破坏原有结构反而能将组件结构进一步简化。这就使得基于 Spring Framework 开发应用程序时结构清晰、简洁优雅。 控制反转IoC——Inversion of Control翻转资源获取方向。把自己创建资源、向环境索取资源变成环境将资源准备好我们享受资源注入。 面向切面编程AOP——Aspect Oriented Programming在不修改源代码的基础上增强代码功能。 容器Spring IoC 是一个容器因为它包含并且管理组件对象的生命周期。组件享受到了容器化的管理替程序员屏蔽了组件创建过程中的大量细节极大的降低了使用门槛大幅度提高了开发效率。 组件化Spring 实现了使用简单的组件配置组合成一个复杂的应用。在 Spring 中可以使用 XML 和 Java 注解组合这些对象。这使得我们可以基于一个个功能明确、边界清晰的组件有条不紊的搭建超大型复杂应用系统。 一站式在 IoC 和 AOP 的基础上可以整合各种企业应用的开源框架和优秀的第三方类库。而且 Spring 旗下的项目已经覆盖了广泛领域很多方面的功能性需求可以在 Spring Framework 的基础上全部使用 Spring 来实现。
1.4、Spring模块组成
官网地址https://spring.io/ spring核心组件
上图中包含了 Spring 框架的所有模块这些模块可以满足一切企业级应用开发的需求在开发过程中可以根据需求有选择性地使用所需要的模块。下面分别对这些模块的作用进行简单介绍。
①Spring Core核心容器
spring core提供了IOC,DI,Bean配置装载创建的核心实现。核心概念 Beans、BeanFactory、BeanDefinitions、ApplicationContext。 spring-core IOC和DI的基本实现 spring-beansBeanFactory和Bean的装配管理(BeanFactory) spring-contextSpring context上下文即IOC容器(AppliactionContext) spring-expressionspring表达式语言
②Spring AOP
spring-aop面向切面编程的应用模块整合ASMCGLibJDK Proxyspring-aspects集成AspectJAOP应用框架spring-instrument动态Class Loading模块
③Spring Data Access
spring-jdbcspring对JDBC的封装用于简化jdbc操作spring-ormjava对象与数据库数据的映射框架spring-oxm对象与xml文件的映射框架spring-jms Spring对Java Message Service(java消息服务)的封装用于服务之间相互通信spring-txspring jdbc事务管理
④Spring Web
spring-web最基础的web支持建立于spring-context之上通过servlet或listener来初始化IOC容器spring-webmvc实现web mvcspring-websocket与前端的全双工通信协议spring-webfluxSpring 5.0提供的用于取代传统java servlet非阻塞式Reactive Web框架异步非阻塞事件驱动的服务
⑤Spring Message
Spring-messagingspring 4.0提供的为Spring集成一些基础的报文传送服务
⑥Spring test
spring-test集成测试支持主要是对junit的封装