<Java EE 进阶> 1.Spring核心思想

简介: <Java EE 进阶> 1.Spring核心思想

1.Spring是什么?


用一句话概括Spring: Spring是包含了众多工具方法的 IoC 容器.

(1) 什么是IoC?

IoC 即 Inversion of Control 意思是控制反转.所谓控制反转就是控制和反转类的生命周期.

2.为什么要有Spring?


为了将程序解耦合,即降低程序之间的相关性,使代码更加便于维护,更方便.

(1)传统程序开发缺陷

当我们要创建一个汽车类

Car(汽车)→Framework(车身)→Bottom(底盘)→Tire(轮胎)    →即 依赖

说明当我们创建一个Car类时,一定需要类内创建一个Framework类.

                 创建一个Framework类时,一定需要类内创建一个Bottom类

                 创建一个Bottom类时,一定需要类内创建一个Tire


   但是,当需求越来越多样时,Tire的构造方法需要传参数,此时创建Tire的Bottom类就需要参数..

以此类推创建Car Framework类就需要参数,这样的代码耦合性太高,牵一发而动全身,不利于代码维护.

(2)如何解决传统开发缺陷----控制翻反转式程序开发

把创建子类的方式,改为注入传递的方式


同样的创建一个汽车类


Tire → Bottom → Framework → Car   →即作为参数注入传递


想要创建一个Car类,就需要Framework类作为参数传递


Framework的创建又需要Bottom类作为参数传递


Bottom的创建又需要Tire类作为参数传递


此时我们如果想要修改Tire类 只需要改Tire 因为别的类只是被注入不关心这个类是什么样子的


我们发现创建类的顺序与传统相反,这就是控制反转


这样就达到了解耦合

3.深刻理解Spring是一个IoC容器


Spring是一个IoC容器.说的是对象的创建和销毁的权利都交给Spring来管理了,它本身又具备了存储对象和获取对象的能力.

学Spring最核心的功能,就是学如何将对象存入到Spring中,再从Spring中获取对象的过程.

4.DI 概念说明


DI即Dependency Injection 意思是依赖注入.所谓依赖注入即由IoC容器在运行期间,动态地将某种关系注入到对象之中.所以,依赖注入(DI)和控制反转(IoC)是从不同的角度的描述的同一件事情,就是指通过引入 IoC 容器,利用依赖关系注入的方式,实现对象之间的解耦。


目录
相关文章
|
5天前
|
Java 应用服务中间件 开发者
Java面试题:解释Spring Boot的优势及其自动配置原理
Java面试题:解释Spring Boot的优势及其自动配置原理
28 0
|
2天前
|
监控 Java 开发者
Spring Boot框架在java领域的优势
随着云计算、微服务架构的兴起,Java开发领域迫切需要一套高效、灵活且易于上手的框架来应对日益复杂的业务需求。正是在这样的背景下,Spring Boot应运而生,以其独特的魅力迅速成为了Java开发者手中的利器。
10 3
|
3天前
|
安全 Java
Java进阶之泛型
【7月更文挑战第10天】Java泛型,自Java 5引入,旨在提升类型安全和代码重用。通过泛型,如List<String>,可在编译时捕获类型错误,防止ClassCastException。泛型包括泛型类、接口和方法,允许定义参数化类型,如`class className<T>`,并用通配符<?>、extends或super限定边界。类型擦除确保运行时兼容性,但泛型仅做编译时检查。使用泛型能增强类型安全性,减少强制转换,提高性能。
12 1
|
3天前
|
Java
Java进阶之泛型
Java进阶之泛型
7 1
|
3天前
|
安全 前端开发 Java
Java技术栈中的核心组件:Spring框架
Java作为一门成熟的编程语言,其生态系统拥有众多强大的组件和框架,其中Spring框架无疑是Java技术栈中最闪耀的明星之一。Spring框架为Java开发者提供了一套全面的编程和配置模型,极大地简化了企业级应用的开发流程。
9 1
|
4天前
|
Java
Java进阶之异常捕捉处理和错误处理
【7月更文挑战第9天】Java异常处理确保程序在遇到错误时不会崩溃。关键机制包括try-catch-finally,用于捕获(try)、处理(catch)和清理(finally)异常。异常分为检查型(需编译时处理,如IOException)和非检查型(如NullPointerException)。throw用于抛出异常,throws用于声明方法可能抛出的异常。Error表示系统级错误,不可恢复;Exception是可处理的异常,包括检查型和非检查型。自定义异常通过继承Exception实现。Java 7引入try-with-resources自动关闭资源。
7 1
|
6天前
|
人工智能 移动开发 Java
Java智能之Spring AI:5分钟打造智能聊天模型的利器
尽管Python最近成为了编程语言的首选,但是Java在人工智能领域的地位同样不可撼动,得益于强大的Spring框架。随着人工智能技术的快速发展,我们正处于一个创新不断涌现的时代。从智能语音助手到复杂的自然语言处理系统,人工智能已经成为了现代生活和工作中不可或缺的一部分。在这样的背景下,Spring AI 项目迎来了发展的机遇。尽管该项目汲取了Python项目如LangChain和LlamaIndex的灵感,但Spring AI并不是简单的移植。该项目的初衷在于推进生成式人工智能应用程序的发展,使其不再局限于Python开发者。
24 2
|
10天前
|
消息中间件 Java BI
使用Java和Spring Batch实现批处理
使用Java和Spring Batch实现批处理
|
12天前
|
安全 Java 数据安全/隐私保护
使用Java和Spring Security实现身份验证与授权
使用Java和Spring Security实现身份验证与授权
|
4天前
|
Java
Java进阶之异常捕捉处理和错误处理
Java进阶之异常捕捉处理和错误处理
5 0