学习java第六十一天

什么是控制反转(IOC)?什么是依赖注入(DI)?

IoC(Inversion of Control) -- 控制反转。它不是一种技术,而是一种思想。

IOC:就是对象之间的依赖关系由容器来创建,对象之间的关系本来是由我们开发者自己创建和维护的,在我们使用Spring框架后,对象之间的关系由容器来创建和维护,将开发者做的事让容器做,这就是控制反转。BeanFactory接口是Spring Ioc容器的核心接口。

DI:我们在使用Spring容器的时候,容器通过调用set方法或者是构造器来建立对象之间的依赖关系。 控制反转是目标,依赖注入是我们实现控制反转的一种手段。

Spring Bean 的作用域之间有什么区别?

Spring器中的bean可以分为5个范围:

singleton:这种bean范围是默认的,这种范围确保不管接受多少请求,每个容器中只有一个bean的实例,单例模式;

prototype:为每一个bean提供一个实例;

request:在请求bean范围内为每一个来自客户端的网络请求创建一个实例,在请求完毕后,bean会失效并被垃圾回收器回收;

session:为每个session创建一个实例,session过期后,bean会随之消失;

global-session:global-session和Portlet应用相关。当你的应用部署在Portlet容器中工作时,它包含很多portlet。如果你想要声明让所有的portlet公用全局的存储变量的话,那么全局变量需要存储在global-session中。

相关推荐
彭于晏Yan6 分钟前
LangChain4j实战三:图像模型
java·spring boot·后端·langchain
testpassportcn6 分钟前
CISA 認證介紹|IT 審計與資安治理黃金證照
网络·学习·改行学it
Leventure_轩先生7 分钟前
从 HiFi-GAN 到 NSF-HiFi-GAN:声码器学习笔记
笔记·学习·生成对抗网络
SimonKing20 分钟前
跨越数据孤岛!SpringBoot使用JDBC调用Calcite联邦查询实战
java·后端·程序员
好家伙VCC28 分钟前
# 发散创新:基于Python的TTS语音合成实战与优化策略 在人工智能加速落地的今天,**文本转
java·开发语言·人工智能·python
来两个炸鸡腿30 分钟前
【Datawhale组队学习202602】Easy-Vibe task05 完整项目实战
人工智能·学习·大模型·vibe coding
好好学习天天向上~~31 分钟前
14_Linux学习总结_进程等待
linux·学习
等D春C夏X44 分钟前
最终版C++11/14/17学习大纲(精准核对42条条款)
java·开发语言
Cg136269159741 小时前
HTML标题标签
java
feathered-feathered1 小时前
测试实战【用例设计】自己写的项目+功能测试(1)
java·服务器·后端·功能测试·jmeter·单元测试·压力测试