Spring概述、系统架构及核心概念

简介: Spring概述、系统架构及核心概念

一、初始Spring

从配置到安全性,从 Web 应用程序到大数据 - 无论您的应用程序的基础架构需求是什么,都有一个 Spring 项目可以帮助您构建它。从小处着手,只使用您需要的产品 — Spring 采用模块化设计。


官网:Spring | Home

https://spring.io/


Spring发展到今天已经形成了一种开发的生态圈,Spring提供了若干个项目,每个项目用于完成特定的功能。


Spring使Java编程对每个人来说都更快,更轻松,更安全。Spring对速度,简单性和生产力的关注使其成为全球最受欢迎的Java框架。


我们使用Spring框架附带的许多工具,并获得了拥有大量开箱即用解决方案的好处,并且不必担心编写大量额外的代码 - 因此这确实为我们节省了一些时间和精力

二、Spring Framework系统架构

69c57a021ae44ac2a8d025c9cd067f95.png

95dea785d3814358a75420378659e6aa.png

三、Spring核心概念

代码书写现状:


耦合度偏高(new对象造成对象一改,就需要该很多对象)

6e184afcf34040ed82c32a501338d970.png

解决方案:


使用对象时,在程序中不要主动使用new产生对象,转换为由外部提供对象


IoC(Invesion of Control)控制反转


对象的创建控制权由程序转移到外部,这种思想为控制反转。(解耦)


使用对象时,由主动new产生对象转换为由外部(IoC容器)提供对象,此过程中对象创建控制权由程序转移到外部,此思想为控制反转


Spring技术对IoC思想进行了实现


Spring提供了一个容器,称为IoC容器,用来充当IoC思想中的“外部”


IoC容器负责对象的创建,初始化等一系列工作,被创建或被管理的对象在IoC容器中统称为Bean


DI(Dependency Injection)依赖注入


在容器中建立bean与bean之间的依赖关系的整个过程,称为依赖注入

944440e075b1438ca4bfc573474b30af.png

目标:充分解耦


使用IoC容器管理bean(IoC)

在IoC容器内部将有依赖关系的bean进行关系绑定(DI)


最终效果:


使用对象时不仅可以直接从IoC容器中获取,并且获取到的bean已经绑定了所有的依赖关系

目录
相关文章
|
1天前
|
安全 Java 测试技术
Spring Boot集成支付宝支付:概念与实战
【4月更文挑战第29天】在电子商务和在线业务应用中,集成有效且安全的支付解决方案是至关重要的。支付宝作为中国领先的支付服务提供商,其支付功能的集成可以显著提升用户体验。本篇博客将详细介绍如何在Spring Boot应用中集成支付宝支付功能,并提供一个实战示例。
37 2
|
1天前
|
Java 关系型数据库 数据库
Spring Boot多数据源及事务管理:概念与实战
【4月更文挑战第29天】在复杂的企业级应用中,经常需要访问和管理多个数据源。Spring Boot通过灵活的配置和强大的框架支持,可以轻松实现多数据源的整合及事务管理。本篇博客将探讨如何在Spring Boot中配置多数据源,并详细介绍事务管理的策略和实践。
38 3
|
1天前
|
Kubernetes API 调度
Kubernetes学习-核心概念篇(二) 集群架构与组件
Kubernetes学习-核心概念篇(二) 集群架构与组件
|
1天前
|
前端开发 Java 应用服务中间件
Spring MVC框架概述
Spring MVC 是一个基于Java的轻量级Web框架,采用MVC设计模型实现请求驱动的松耦合应用开发。框架包括DispatcherServlet、HandlerMapping、Handler、HandlerAdapter、ViewResolver核心组件。DispatcherServlet协调这些组件处理HTTP请求和响应,Controller处理业务逻辑,Model封装数据,View负责渲染。通过注解@Controller、@RequestMapping等简化开发,支持RESTful请求。Spring MVC具有清晰的角色分配、Spring框架集成、多种视图技术支持以及异常处理等优点。
16 1
|
1天前
|
监控 云计算 开发者
探索云计算中的无服务器架构:从概念到实践
无服务器架构作为云计算领域的新兴技术,正在以其高效、灵活的特性吸引着越来越多的开发者和企业。本文将深入探讨无服务器架构的概念及其在云计算中的应用,通过实际案例展示如何利用无服务器架构构建可靠、可扩展的应用系统。
|
1天前
|
JavaScript Java 开发者
Spring Boot中的@Lazy注解:概念及实战应用
【4月更文挑战第7天】在Spring Framework中,@Lazy注解是一个非常有用的特性,它允许开发者控制Spring容器的bean初始化时机。本文将详细介绍@Lazy注解的概念,并通过一个实际的例子展示如何在Spring Boot应用中使用它。
21 2
|
1天前
|
XML Java API
Spring Boot 整合 LiteFlow 规则引擎:概念与实战
【4月更文挑战第30天】在现代软件开发中,规则引擎允许我们以声明式的方式定义业务逻辑和决策路径。LiteFlow 是一个轻量级、易于使用的组件式规则引擎,它可以与 Spring Boot 应用无缝整合。本文将介绍如何在 Spring Boot 项目中引入 LiteFlow,实现灵活的业务流程管理。
31 0
|
1天前
|
负载均衡 Java 开发者
Spring Cloud:一文读懂其原理与架构
Spring Cloud 是一套微服务解决方案,它整合了Netflix公司的多个开源框架,简化了分布式系统开发。Spring Cloud 提供了服务注册与发现、配置中心、消息总线、负载均衡、熔断机制等工具,让开发者可以快速地构建一些常见的微服务架构。
|
1天前
|
Java Docker 微服务
|
1天前
|
安全 Java 测试技术
利用Java反射机制提高Spring Boot的代码质量:概念与实战
【4月更文挑战第29天】Java反射机制提供了一种强大的方法来在运行时检查或修改类和对象的行为。在Spring Boot应用中,合理利用反射可以提高代码的灵活性和可维护性。本篇博客将探讨Java反射的核心概念,并展示如何通过反射提高Spring Boot项目的代码质量。
31 0
http://www.vxiaotou.com