什么是IoC和AOP

news2024/11/17 20:27:59

IoC是什么?

控制反转:面向对象的设计的理念。上层建筑依赖下层建筑

理解:行李箱设计

轮子 --> 底盘 --> 箱体 --> 行李箱

如果改动轮子,则底盘、箱体、行李箱都需要进行调整。

依赖注入:将底层类作为参数传递给上层类,实现上层对下层的“控制”。

 

 

 

四种注入方式

  1.  set注入
  2.  接口
  3.  注解
  4.  构造器 

 

两大容器之BeanFactory和ApplicationContext

BeanFactory:Spring框架的基础设施,面向Spring。

ApplicationContext:面向Spring框架的使用者。高级容器!

public interface ApplicationContext extends EnvironmentCapable, ListableBeanFactory, HierarchicalBeanFactory, MessageSource, ApplicationEventPublisher, ResourcePatternResolver {}

        1、继承了BeanFactory,管理、装配Bean
        2、继承了ResourcePatternResolver,能够加载资源文件
        3、继承了MessageSource,能够实现国际化
        4、继承了ApplicationEventPublisher,能够注册监听器,实现监听机制

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

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

相关文章

Spring之底层架构核心概念-BeanFactory 与ApplicationContext

目录1.BeanFactory2.ApplicationContext3.关系4.总结1.BeanFactory BeanFactory是一个接口 public interface BeanFactory {xxx... }2.ApplicationContext ApplicationContext 也是一个接口,继承自ListableBeanFactory, HierarchicalBeanFactory public interfa…

非零基础自学Golang 第15章 Go命令行工具 15.2 代码获取(get) 15.3 格式化代码(fmt)

非零基础自学Golang 文章目录非零基础自学Golang第15章 Go命令行工具15.2 代码获取(get)15.3 格式化代码(fmt)第15章 Go命令行工具 15.2 代码获取(get) go get命令用于从远程仓库中下载安装远程代码包,这是我们常用且非常重要的指令。 我们在开发程序时往往需要引…

Gateway网关-网关作用介绍

为什么需要网关? 如果允许任何人访问微服务,查看我们的敏感业务,这样数据是不是不安全。如果是我们的工作人员并且有相应的查看权限,我们才提供访问权限。那谁来做这件事呢?就是我们的网关。 网关的功能作用 1&#xf…

鼎镁科技冲刺上交所:年营收18亿 拟募资13亿

雷递网 雷建平 12月21日鼎镁新材料科技股份有限公司(简称:“鼎镁科技”)日前递交招股书,准备在上交所主板上市。鼎镁科技计划募资12.86亿元。其中,8.84亿元用于轻量化新材料生产、研发建设项目,2.53亿元用于…

消息号F5155处理办法

消息号F5155(没有公司代码XDJT中买卖双方的资金权限)处理办法 OBA4先检查用户的FI容差组 OB57查看分配用户给容差组,确认是否书写正确的容差组。

《疫情下的编程岁月》序言导读目录

导读 《疫情下的编程岁月》是一部为初学者编写的编程指南,作者是一名 13 岁的编程学习者和优质技术博主。在这部指南中,作者分享了自己在过去 5 年里学习编程技术的经历,并提供了宝贵的建议和技巧,帮助初学者更好地了解编程学习的…

math@间断点@微积分基本定理@变限积分求导公式

文章目录间断点第一类间断点跳跃间断点可去间断点例第二类间断点微积分定理第一基本定理变上限积分函数的导数定积分的角度原函数存在定理😊应用例例微积分第二基本定理变限积分求导公式例math间断点微积分基本定理变限积分的求导公式 间断点 第一类间断点 跳跃间…

SwiftUI开源库之 什么是 Lottie?Airbnb 的跨平台开源库,用于渲染矢量运动图形

什么是 Lottie Lottie是 Airbnb 的跨平台开源库,用于渲染矢量运动图形。我们在 Airbnb 广泛使用 Lottie,它还为整个行业的数千个其他应用程序中的动画提供支持。 发布了适用于 iOS 的Lottie 4.0 。这个主要的新版本通过由 Core Animation 提供支持的全新渲染引擎,为所有 L…

Flutter开发:仿iOS侧滑删除效果的实现

前言 在Flutter开发中,基于原生移动端开发的思想也会运用到混合开发中,尤其是原生移动的的好的特性和交互效果更是如此。在现在的发展情况下,Flutter下的混合开发已经越来越替代原生移动的开发,同时也会继承原生开发的优点&#x…

5年Java经验,定级阿里P7,所有经验全在这份Java核心知识笔记里了

前言 今年的大环境非常差,互联网企业裁员的现象比往年更严重了,可今年刚好是我的第一个“五年计划”截止的时间点,说什么也不能够耽搁了,所以早早准备的跳槽也在疫情好转之后开始进行了。但是,不得不说,这次…

编译和使用hadoop遇到的问题——问题随手记【持续更新】

文章目录编译hadoop遇到的问题java.lang.NoClassDefFoundError: org/apache/hadoop/util/PlatformNamejava.lang.ClassNotFoundException: org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos\$MasterService\$BlockingInterfacejava.lang.ClassNotFoundExceptio…

坚持长期主义 上汽大众ID.纯电品牌迎来加速发展阶段

那些真正能够引领行业发展和变革,并能够持续存活下去的企业,一定是以长期主义作为导向的。 2022年11月,上汽大众ID.纯电家族以月销近万辆、累计销量超10万辆的数据,演绎了一个坚持长期主义汽车大厂的“英雄本色”。长期主义是对抗…

R语言LME4混合效应模型研究教师的受欢迎程度

介绍 最近我们被客户要求撰写关于混合效应模型的研究报告,包括一些图形和统计输出。本教程对多层回归模型进行了基本介绍 。 相关视频:线性混合效应模型(LMM,Linear Mixed Models)和R语言实现 线性混合效应模型(LMM,Linear Mixed Models)和R语言实现…

结构化思维的理解与思考

结构化思维是一种将信息要素从无效转化为有序,提炼核心要点,将信息转化为有结构的知识,更好的帮助大脑理解和记忆,并支持我们清晰表达的通用能力。前言首先,我们先来完成一个游戏,以下有9个计算式&#xff…

微服务应用视角解读如何选择K8S的弹性策略

前言 微服务架构的出现,拆分了庞大的单体应用,让业务之间的开发与协作变得更加灵活。当面临业务流量增加的场景时,往往需要对一些应用组件进行扩容。K8S在应用层面提供了HPA,围绕HPA开源社区延伸出了KEDA这样的弹性组件&#xff…

Compose使用OpenGL+CameraX快速实现相机“拍视频实时滤镜“、”拍照+滤镜“

一、前言 短视频热潮还没有褪去,写这篇文章主要是帮助大部分人,能快速上手实现类似效果,实际上是: CameraX拿相机数据,OpenGL给CameraX提供一个Surface,数据放到OpenGL渲染的线程上去做图像相关操作 Open…

Java项目:springboot+layui就业信息管理

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 该项目采用了spring boot,spring,spring mvc,mybatis作为后端技术框架,这些组合稳定抗打&#x…

Redis缓存穿透、击穿、雪崩到底是个啥?7张图告诉你

目录一、缓存是什么?二、缓存的作用和成本1、缓存的作用:2、缓存的成本:三、缓存作用模型1、根据id查询数据缓存流程四、缓存更新策略1、内存淘汰2、超时剔除3、主动更新五、缓存穿透解决方法:六、缓存雪崩七、缓存击穿1、通过互斥…

基于局部特征和引导形状变形的重叠子宫颈细胞自动分割技术

注:该文为Automatic Segmentation of Overlapping Cervical Smear Cells based on Local Distinctive Features and Guided Shape Deformation的相关阅读注释和翻译 基于局部特征和引导形状变形的重叠子宫颈细胞自动分割技术 概述 提出了一种基于独特的局部特征和…