学习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中。

相关推荐
JackSparrow4148 分钟前
Kafka(七)集成Apache Avro+Apicurio Schema Registry以保障生产者与消费者的消息兼容性
java·中间件·rpc·kafka·apache·avro·schema-registry
林森lsjs9 分钟前
零基础吃透二叉树:定义、遍历与高频算法 —数据结构柒
java·开发语言·数据结构·算法·二叉树
MacroZheng11 分钟前
又一个神级画图Skill开源,再见draw.io!
java·人工智能·后端
2401_8949155316 分钟前
GEO 优化源码性能调优:高并发地域请求缓存与索引优化
java·服务器·网络·数据库·缓存
石头猫灯35 分钟前
一次 CMS 被黑实录:完整事件思路梳理
android·学习
AIkk8641 分钟前
2026AI智能体培训机构客观测评|零基础到进阶全方位择校指南
学习
我叫张土豆42 分钟前
在 OpenClaw Java 对话框输入一句话后,系统是如何运行的?
java·开发语言·人工智能
liangbo71 小时前
JVM规范第 4 章:class 文件格式
java·jvm
橘子汽水1681 小时前
Leetcode 236,437:二叉树的最近公共祖先,路径总和III
java·数据结构
数据狐(Datafox)1 小时前
1688商品详情API技术解析与落地应用(含标准 JSON 示例)
java·数据库·json