Bean小结

news/2024/12/28 17:11:35/

Bean是Spring框架中最核心的两个概念之一(另一个是面向切面编程AOP)。

Bean 定义

Spring 官方文档对 bean 的解释是:
In Spring, the objects that form the backbone of your application and that are managed by the Spring IoC container are called beans. A bean is an object that is instantiated, assembled, and otherwise managed by a Spring IoC container.

翻译过来就是:
在 Spring 中,构成应用程序主干并由Spring IoC容器管理的对象称为bean。bean是一个由Spring IoC容器实例化、组装和管理的对象。

概念1:Bean容器,或称spring ioc容器,主要用来管理对象和依赖,以及依赖的注入。
概念2:bean是一个Java对象,根据bean规范编写出来的类,并由bean容器生成的对象就是一个bean。

概念3:bean规范。在这里插入图片描述
bean规范如下:

1.所有属性为private
2.提供默认构造方法
3.提供getter和setter
4.实现serializable接口

 

 

 控制反转(IoC)

控制反转英文全称:Inversion of Control,简称就是IoC。

控制反转通过依赖注入(DI)方式实现对象之间的松耦合关系。

程序运行时,依赖对象由【辅助程序】动态生成并注入到被依赖对象中,动态绑定两者的使用关系。

Spring IoC容器就是这样的辅助程序,它负责对象的生成和依赖的注入,让后在交由我们使用。

简而言之,就是:IoC就是一个对象定义其依赖关系而不创建它们的过程。

这里我们可以细分为两个点。

在 Spring 中,类的实例化、依赖的实例化、依赖的传入都交由 Spring Bean 容器控制,而不是用new方式实例化对象、通过非构造函数方法传入依赖等常规方式。实质的控制权已经交由程序管理,而不是程序员管理,所以叫做控制反转。

1.如何 获取bean?

 

 2.bean的作用域

 

 

 

 3.自定义类和第三方类如何声明bean?

 

自定义类使用@Component以及其衍生注解@Controller@Service@Repository声明其为bean文件

 

建议单独写一个Configuration包专门存放配置类

 

 

 

 

 

 

 


http://www.ppmy.cn/news/974301.html

相关文章

C++语法(25)--- 异常与智能指针

C语法(24) C11_哈里沃克的博客-CSDN博客https://blog.csdn.net/m0_63488627/article/details/131054426?spm1001.2014.3001.5501 1.异常 try { // 保护的标识代码 }catch( ExceptionName e1 ) { // catch 块 }catch( ExceptionName e2 ) { // catch 块…

maven的pom.xml文件解释(远程仓库阿里云)

<?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://ma…

MySQL表的管理

目录 1.mysql中&#xff0c;数据存储过程分为四步 2.数据库命名规则 3.创建数据库 4.管理数据库的方法 5.修改数据库&#xff08;一般不改&#xff0c;最多改字符集&#xff09; 6.删除数据库 7.如何创建数据表 8.修改表 9.重命名表 10.删除表&#xff08;注意⚠️无…

大模型网红项目AutoGPT案例、原理、源码解密

大模型网红项目AutoGPT案例、原理、源码解密 大模型网红项目AutoGPT案例、原理、源码解密 来自硅谷 第五期企业级ChatGPT 开发入门实战 直播21课,37个ChatGPT/LLMs案例,3万行代码解密硅谷核心LLMs技术,21小时直播,只需要Python基础即可学习 Gavin大咖微信&#xff1a;NLP_Matri…

Python中TensorFlow的长短期记忆神经网络(LSTM)、指数移动平均法预测股票市场和可视化...

原文链接&#xff1a;http://tecdat.cn/?p23689 本文探索Python中的长短期记忆&#xff08;LSTM&#xff09;网络&#xff0c;以及如何使用它们来进行股市预测&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 相关视频 在本文中&#xff0c;你将看到如何使用…

基于深度学习淡水鱼体重智能识别模型研究

工作原理为&#xff1a;首先对大众淡水鱼图片进行数据清洗并做标签分类&#xff0c;之后基于残差网络ResNet50模型进行有监督的分类识别训练&#xff0c;获取识别模型。其次通过搭建回归模型设计出体重模型&#xff0c;对每一类淡水鱼分别拟合出对应的回归方程&#xff0c;将获…

Qt6 Qt Quick UI原型学习QML第六篇

文章目录 效果展示动画片第一小节源码&#xff08;AnimationExample.qml&#xff09;主文件解释语法 源码子文件&#xff08;ClickableImageV2.qml&#xff09;解释语法 效果展示 动画片第一小节 源码&#xff08;AnimationExample.qml&#xff09;主文件 import QtQuick 2.1…

Python题目---文件类型

一、编写一个程序&#xff0c;可以将指定文件中的字符串修改&#xff0c;比如将文件中所有的"java"修改为"python". ①首先我们创建test_package包这个文件&#xff0c;并在文件下创建demo1.py的python文件&#xff0c;在里面定义一个函数如下&#xff1a;…