首页 > 其他分享 >第1章-Spring的模块与应用场景

第1章-Spring的模块与应用场景

时间:2022-11-26 17:57:25浏览次数:49  
标签:Web 场景 框架 Spring 应用程序 模块 spring

目录

Spring 框架可以为 Java 应用程序开发提供全面的基础设施支持,它是现在非常流行的 Java 开源框架,对于一个 Java 开发人员来说,熟练掌握 Spring 是必不可少的。

控制反转(IoC)和依赖注入(DI)

IoC/DI 是 Spring 的核心设计模式,它的所有组件和功能,都是基于这一模式设计的。IoC 意味着你设计好的对象交给容器控制,而不是在你的对象内部直接控制,而各个对象之间的依赖关系,是在容器运行期间决定的,容器动态地将依赖关系注入到组件中,且不关心具体的对象或资源来自何处,这大大降低了对象间的耦合度。

一、Spring模块

Spring 框架的模块:
image

1. 核心模块

名称 功能
spring-core 提供 IoC 和 DI 等功能
spring-beans 提供 Bean 容器等功能
spring-context 基于 core 和 beans 模块构建,扩展了功能
spring-context-support 支持整合第三方工具
spring-expression 提供 SpEL 表达式支持

2. AOP模块

名称 功能
spring-aop 提供 AOP(面向切面编程)支持
spring-aspects 提供 AspectJ 的集成
spring-instrumentation 提供类植入和类加载器的实现

3. 消息模块

名称 功能
spring-messaging 提供消息功能支持

4. 数据访问模块

名称 功能
spring-jdbc 提供 JDBC 抽象层来代替原生 JDBC 功能
spring-tx 提供编程式和声明式事务管理
spring-orm 提供主流的 ORM 框架 API 支持
spring-oxm 提供支持对象/XML映射抽象层
spring-jms 提供支持生产和消费的消息功能

5. Web模块

名称 功能
spring-web 提供 Web 功能支持
spring-webmvc 提供 Web 应用程序的 MVC 和 REST Web Services 支持
spring-websocket 提供 Web Socket 支持

6. 测试模块

名称 功能
spring-test 提供 JUnit 或 TestNG 等主流单元测试框架的集成

二、集成功能

Spring 对一些常用的功能组件都会基于 IoC/DI 模式来进行封装,简化其使用方式,以便开发人员开箱即用,不仅可以提高开发效率,还降低了耦合,提高了测试性和可移植性。

1. 目标原则

目标:

  • 为复杂的企业集成解决方案提供简单的模型
  • 便于开发基于异步、消息驱动行为的应用
  • 使现有 Spring 用户更直观、更循序渐进地使用

原则:

  • 降低组件的耦合度,增加了模块化和可测试性
  • 强制区分业务逻辑和组件集成逻辑
  • 扩展点是抽象的,增加了扩展性和可移植性

2. 支持组件

Endpoint
AMQP
Spring ApplicationEvent
File 
FTP/FTPS Adapters
HTTP
JDBC
JPA
JMS
Mail
MongoDb
MQTT
Redis
Resource
RMI
RSocket
SFTP Adapters
STOMP
Stream
Syslog
TCP and UDP
WebFlux
WebSockets
Web Services
XML
Zookeeper

三、应用场景

Spring 框架由多个模块构成,它不是一个全有或者全无的解决方案,我们完全可以按照需求使用它的全部或者部分特性。

1. 典型完整的 Spring Web 应用程序

image

Spring 完整使用场景:基于 Tomcat Servlet 容器,Web 层、业务层和数据持久层都使用 Spring 模块实现。

2. 使用第三方 Web 框架的应用程序

image

整合第三方 Web 框架:基于 Tomcat Servlet 容器,Web 层使用 Struts 等其他框架,业务层和数据持久层都使用 Spring 模块实现。

3. 基于 RPC 的应用程序

image

RPC 应用程序:基于 Tomcat Servlet 容器,使用Spring的 Hessian-,Rmi- 或HttpInvokerProxyFactoryBean 类构建远程调用程序。

4. 基于 EJB 的应用程序

image

EJB 应用程序:Spring 提供访问层和抽象层来管理 EJB。

比如我们通常使用的 SSM 框架和 SSH 框架就是 Spring 框架和第三方框架的组合形式:

Web 层 业务层 数据持久层
SSM SpringMVC Spring MyBatis
SSH Struts Spring Hibernate

不管我们怎么搭建应用程序框架,Spring 都能很好的集成到我们应用程序中。

标签:Web,场景,框架,Spring,应用程序,模块,spring
From: https://www.cnblogs.com/code-artist/p/spring-1.html

相关文章

  • springboot学习
    package com.cy.pj.common.cache;@Component        @Scope("singleton")@Lazy//不会启动的时候就加载类        public class DefaultCache{......
  • spring boot整合spring security 前后端分离
    1.springsecurity的介绍springsecurity是一个安全管理框架,源自Spring家族,可以和Spring框架无缝整合。其主要功能有:认证也就是你进行访问一些网站的时候需要进行......
  • 【博学谷学习记录】超强总结,用心分享|狂野架构Spring核心组件补充
    Bean组件Bean组件定义在Spring的org.springframework.beans包下:是典型的工厂模式(BeanFactory)这个包下的所有类主要解决了三件事:Bean的定义:Bean的创建:Bean的赋值及初......
  • SpringMVC
    什么是SpringMVC概述SpringMVC是SpringFramework的一部分,是基于Java实现MVC的轻量级Web框架官方文档:https://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-fram......
  • Spring--AOP简介+入门案例
    AOP简介面向切面编程:在不惊动原始设计的基础上,进行功能增强各个要应用该功能的对象叫做连接点,那个功能叫做通知,表面上的代码没有发生变化,私下里发生变化的连接点,会出现切......
  • Git常用场景
    场景0:某次迭代的开发分支已知为EI62105697_20211008_dev,如何在idea上拿到代码并开始本地开发:右下角直接搜索场景1:自己切关于“EI62105697_20211008_dev”一个开发......
  • Spring5初学
    项目截图包引用bean.xml<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3......
  • Spring当中的常用注解
    常用注解如果有人问我在项目中使用的比较多的注解是什么,我想应该不能只说一些基础的,所以从今天开始记录一下遇到的一些比较非常见的注解。基础注解@Service@Controlle......
  • js文件模块化引用问题(JavaScript modules)
    有个前端项目,需要用到配置文件。这个配置文件实在是太大了,就想拆成多个小的,然后一一引入,组合成一个完整的配置文件。如果是vue代码,这种情况根本是手到擒来,不费吹灰之力,而该......
  • 【Spring Cloud实战】Spring Cloud Alibaba入门
    gitee地址:https://gitee.com/javaxiaobear/spring-cloud_study.git在线阅读地址:https://javaxiaobear.gitee.io/1、为什么会出现​​SpringCloudnetflix​​进入维护模式......