系列二、Spring IOC

一、什么是IOC?有什么作用?优点是什么?

        IOC是控制反转的意思,即将创建对象的控制权交给了Spring的IOC,以前是由程序员自己去创建控制对象,现在交由Spring的IOC去创建控制,如果要去使用对象,通过依赖注入就可以使用对象。优点:集中管理对象,方便维护,降低耦合度。

二、Spring IOC的实现机制是什么***

工厂模式 + 反射。

三、IOC和DI的区别是什么?**

        IOC是控制反转,即把对象的创建控制交由Spring管理,以前是程序员自己管理的,耦合度比较高,不易维护和扩展,DI是IOC的实现,是IOC不可分割的一部分,用于给bean中注入各种属性,完成bean的初始化工作。 

四、紧耦合和松耦合有什么区别?如何编写松耦合的代码?**

4.1、紧耦合

紧耦合是指类之间的高度依赖。

4.2、松耦合

松耦合是指通过促进单一职责和关注点分类、依赖倒置的设计原则来实现的。

五、BeanFactory的作用 *

  • BeanFactory是Spring中非常核心的一个顶层接口;
  • 它是Bean的工厂,它的主要职责就是生产Bean;
  • 它实现了简单工厂的设计模式,通过调用getBean()传入标识生产一个Bean;
  • 它有非常多的实现类,每个工厂都有不同的职责(单一职责),最强大的工厂是DefaultListableBeanFactory,Spring底层就是使用该类进行生产Bean;
  • BeanFactory也是一个容器,管理着Bean的生命周期;

六、BeanDefinition的作用 *

        BeanDefinition是用来定义Bean的基本信息的,决定了Bean以何种方式生产,例如:applicationContext.xml中有如下配置

<bean class="org.star.entity.User" id="user" scope="singleton" lazy="false" abstract="false" autowire="none"><property name="username" value="zhangsan"></property>
</bean>

后续BeanFactory就可以根据这些配置信息去生产Bean。

七、BeanFactory和ApplicationContext有什么区别 **

7.1、相同点

都可以作为容器。

7.2、区别

  • FactoryBean用于生产Bean;
  • ApplicationContext实现了FactoryBean,但是它不生产Bean,而是通过FactoryBean来进行生产,有点儿类似于汽车4S店和汽车工厂,4S店不生产汽车,真正生产汽车的是工厂,它的getBean()方法只是一个门面,做的事情更多,例如:
    (1)会自动帮我们配置的Bean注册进来
    (2)加载环境变量
    (3)支持多语言
    (4)实现事件监听
    (5)注册很多对外扩展点

7.3、关系

ApplicationContext实现了FactoryBean。

八、说下Spring IOC容器的加载过程 *****

TODO

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/116519.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VUE 集成 Mockjs

一、集成方式 在项目目录中执行以下命令&#xff1a; npm i -D mockjs二、配置 &#xff08;1&#xff09;在项目src目录下创建mock目录&#xff0c;并创建index.js文件&#xff0c;在index.js文件中添加以下代码&#xff1a; import Mock from mockjs// 配置需要mock的url…

STM32+摁键与定时器实现Led灯控制(中断)

中断作为单片机开发必须掌握的内容&#xff0c;它能够在不搭载操作系统的情况下让我们体验多任务处理的快感&#xff0c;保证了高优先级任务的实时性&#xff0c;同时系统中断也能够提供给用户在核心发生错误之后进行处理的机会。STM32F103系列单片机中断非常强大&#xff0c;每…

GaussDB数据库管理系统介绍

1.GaussDB的发展 2.GaussDB的生态 内部&#xff1a; 云化自动化方案。通过数据库运行基础设施的云化将DBA(数据库管理员)和运维人员的日常工作 自动化。外部&#xff1a; 采用与数据库周边生态伙伴对接与认证的生态连接融合方案&#xff0c;解决开发者/DBA难获取、应用难对接等…

[linux] 怎么批量kill掉挂载运行python 某个.py文件的端口

kill $(ps aux | grep python tools/token_raw_data_for_dsw.py | grep -v grep | awk {print $2}) 使用一系列的命令来查找并终止正在运行的名为"python main.py"的进程。 具体的步骤如下&#xff1a; ps aux命令用于列出当前正在运行的所有进程。grep python ma…

VR虚拟展厅的亮点是什么?有哪些应用?

传统展厅主要是以静态陈列的形式来传达内容&#xff0c;而展示形式则有图片、视频等&#xff0c;虽然视频包含内容多&#xff0c;但是总体具有一定的局限性&#xff0c;客户体验感也较差&#xff0c;往往不能深入了解细节。随着VR技术越来越成熟&#xff0c;VR技术的广泛应用&a…

PHP基础学习

PHP是什么&#xff1f; PHP&#xff08;全称&#xff1a;PHP&#xff1a;Hypertext Preprocessor&#xff0c;即"PHP&#xff1a;超文本预处理器"&#xff09;是一种通用开源脚本语言。PHP 脚本在服务器上执行。PHP 可免费下载使用。 基础的PHP语法 PHP 脚本可以放…

【谢希尔 计算机网络】第4章 网络层

目录 网络层 网络层的几个重要概念 网络层提供的两种服务 网络层的两个层面 网际协议 IP 虚拟互连网络 IP 地址 IP 地址与 MAC 地址 地址解析协议 ARP IP 数据报的格式 IP 层转发分组的过程 基于终点的转发 最长前缀匹配 使用二叉线索查找转发 网际控制报文协议…

2023年中国互联网视听平台发展趋势分析:未来增速将从2023年开始缓慢提升[图]

互联网视听平台是指基于互联网技术&#xff0c;提供包括音频、影视、综艺节目、直播、短视频等内容的数字化传播平台。互联网视听平台通过电脑端、移动端等多种终端提供在线点播、直播、互动等服务&#xff0c;具有内容丰富、便捷高效、交互性强等特点&#xff0c;是大众获取娱…

js逆向第一课 密码学介绍

什么是密码学&#xff1f; 密码学&#xff08;Cryptology&#xff09;是一种用来混淆的技术,它希望将正常的、可识别的信息转变为无法识别的信息。 目前密码学的研究&#xff0c;一种是偏应用&#xff0c;把现有的&#xff0c;别人研究出来的密码学算法&#xff0c;放在一个合…

C语言用awtk开发界面访问http接口

AWTK全称为Toolkit AnyWhere&#xff0c;是ZLG倾心打造的一套基于C语言开发的GUI框架。旨在为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的GUI引擎&#xff0c;并支持跨平台同步开发&#xff0c;一次编程&#xff0c;终生使用。 1. 初识AWTK | AWStudio社区…

react中hooks闭包

import React, { useState } from react;function Counter() {const [count, setCount] useState(0);return (<div><p>Count: {count}</p><button onClick{() > setCount(count 1)}>Increment</button></div>); }在上面的 React 组件…

常见的Elasticsearch操作

在Elasticsearch中&#xff0c;增删改查操作具有明显的标识&#xff0c;通常使用HTTP方法和URI来表示不同的操作类型。以下是一些常见的Elasticsearch操作及其标识&#xff1a; 增&#xff08;Create/Index&#xff09;&#xff1a; HTTP方法&#xff1a; 通常使用PUT或POST方法…

2023年中国调速器产量、销量及市场规模分析[图]

调速器行业是指生产、销售和维修各种调速器设备的行业。调速器是一种能够改变机械传动系统输出转速的装置&#xff0c;通过调整输入和输出的转速比来实现转速调节的功能。 调速器行业分类 资料来源&#xff1a;共研产业咨询&#xff08;共研网&#xff09; 随着工业自动化程度…

CentOS | 添加普通用户并授权sudo

sudo -i adduser peter passwd peter whereis sudoers nano /etc/sudoers添加一行新用户到root组 ## Allow root to run any commands anywhere root ALL(ALL) ALL peter ALL(ALL) ALL如果提升权限后无法cd到其他目录等&#xff0c;修改 /etc/passwd 文件&…

海外跨境商城电商源码-进出口电商平台网站-多语言多商户多货币平台

一、海外跨境商城电商源码简介 海外跨境电商已成为全球经济发展的重要推动力。而海外跨境商城电商源码则是实现全球化电商的关键工具。本文将详细介绍海外跨境商城电商源码及其相关内容。 二、如何理解海外跨境商城电商源码 海外跨境商城电商源码是指一套已经开发好并可直接应用…

ZKP6.2 Discrete-log-based Polynomial Commitments (KZG10)

ZKP学习笔记 ZK-Learning MOOC课程笔记 Lecture 6: Discrete-log-based Polynomial Commitments (Yupeng Zhang) 6.2 KZG polynomial commitment and its variants KZG: [Kate-Zaverucha-Goldberg 2010]Procedure Soundness: q-Strong Bilinear Diffie-Hellman (q-SBDH) a…

致敬技术与创新·20231024程序员节

每年的10月24日&#xff0c;全球的程序员们都会欢庆属于他们的节日——1024程序员节。这个节日旨在致敬那些用代码改变世界的程序员们&#xff0c;以及他们对于技术创新的执着追求。在这一天&#xff0c;让我们一起来了解这个节日的由来、意义&#xff0c;以及如何庆祝这个特殊…

MySQL MVCC机制探秘:数据一致性与并发处理的完美结合,助你成为数据库高手

一、前言 在分析 MVCC 的原理之前&#xff0c;我们先回顾一下 MySQL 的一些内容以及关于 MVCC 的一些简单介绍。&#xff08;注:下面没有特别说明默认 MySQL 的引擎为 InnoDB &#xff09; 1.1 数据库的并发场景 数据库并发场景有三种&#xff0c;分别是&#xff1a; 读-读…

竞赛选题 深度学习人脸表情识别算法 - opencv python 机器视觉

文章目录 0 前言1 技术介绍1.1 技术概括1.2 目前表情识别实现技术 2 实现效果3 深度学习表情识别实现过程3.1 网络架构3.2 数据3.3 实现流程3.4 部分实现代码 4 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习人脸表情识别系…

算法学习(三)利用前序遍历的思想求解层序遍历

给定一个二叉树&#xff0c;返回该二叉树层序遍历的结果&#xff0c;&#xff08;从左到右&#xff0c;一层一层地遍历&#xff09; 例如&#xff1a; 给定的二叉树是{3,9,20,#,#,15,7}, 我的解法&#xff1a; 在前序遍历的基础上&#xff0c;增加一个深度参数&#xff0c;结果…