Spring核心思想Ioc和Aop (面试)

12 篇文章 0 订阅
订阅专栏

Spring核心思想Ioc和Aop (面试)

注意: Ioc和Aop并不是Spring提出的,在Spring之前就已经存在,Spring只是在技术层面给这两个思想做了非常好的实现。

1 Ioc

1.1 下面谈谈你是怎么理解ioc的吧。

面试官: 下面谈谈你是怎么理解ioc的吧。

**我:**Inversion of Control (控制反转)。它只是一个技术思想,不是一个技术实现

**我:**在传统的java开发中,bean的创建,管理一直是一个让人头疼的问题。

我:比如类A依赖于类B,通常会在类A中new一个B的对象。

**我:**在Ioc思想下,我们可以不用自己去new对象,而是由Ioc容器去帮助我们实例化对象并且管理它。我们需要使用某个对象,去Ioc容器中要即可。


1.2 为什么称Ioc叫做控制反转?

面试官: 为什么称Ioc叫做控制反转?

我:控制:指得是对象的创建。(实例化,管理)的权利。

我:反转:控制权而又交给外部环境了(spring框架、IoC容器)

image-20220814210817790

1.3 Ioc解决了什么问题?

面试官: Ioc解决了什么问题?

**我:**IoC解决了对象之间的耦合问题

**我:**比如我们在使用Dao对象的时候,有多个service需要用到Dao对象,那么我们硬编码在每个service中new多个Dao对象

image-20220814211317475

1.41.3 IoC和DI的区别?

DI:Dependancy Injection(依赖注⼊)

面试官: IoC和DI的区别

**我:**我觉得 IOC和DI描述的是同⼀件事情,只不过⻆度不⼀样罢了

image-20220814211658826

2 Aop

2.1 什么是AOP?

AOP: Aspect oriented Programming ⾯向切⾯编程/⾯向⽅⾯编程

面试官: 什么是AOP?

**我:**要说Aop,得先从OOP说起,OOP三大特征:封装,继承,多态。oop是⼀种垂直继承体系。

image-20220814212030916

**我:**OOP编程思想可以解决⼤多数的代码重复问题,但是有⼀些情况是处理不了的,⽐如下⾯的在顶级⽗类 Animal中的多个⽅法中相同位置出现了重复代码,OOP就解决不了。

比如需要对接口的性能监控,OOP的思想,需要在每处需要监控的地方编写重复代码。

  • 横切逻辑 (简单来说,就是在业务代码之前,或者之前,或者环绕他们执行)

image-20220814212142280

横切逻辑代码

image-20220814213046881

横切逻辑代码存在什么问题: 横切代码重复问题 横切逻辑代码和业务代码混杂在⼀起,代码臃肿,维护不⽅便 AOP出场,AOP独辟蹊径提出横向抽取机制,将横切逻辑代码和业务逻辑代码分析

image-20220814213111363

**我:**而利用Aop的思想可以完美的规避这些问题。

2.2 为什么叫做⾯向切⾯编程

「切」:指的是横切逻辑,原有业务逻辑代码我们不能动,只能操作横切逻辑代码,所以⾯向横切逻辑。()

「⾯」:横切逻辑代码往往要影响的是很多个⽅法,每⼀个⽅法都如同⼀个点,多个点构成⾯,有⼀个⾯的概念在⾥⾯

IOCAOP整合以及面试宝典spring
weixin_73683568的博客
04-03 1256
在软件业,AOP为Aspect Oriented Programming的缩写,意味:面向切面编程.通过预编译方式和运行期动态代理实现程序功能的统 一维护的一种技术,AOP是OOP的延续.将一些共性的内容进行抽取,在需要用到的地方,以动态代理的方式进行插入.在不修 改源 码的基础上,还能对源码进行前后增强。属性的依赖注入,spring在通过IOC创建对象的时候,如果对象还有属性,就一并给赋值进去DI是在IOC的基础上进行对象的属性 注入。b、after: 在方法执行之后调用的通知,无论方法执行是否成功。
IOCAOP、和Spring框架面试
weixin_73667562的博客
04-03 577
控制反转,把创建对象的权利交给spring属性的依赖注入,spring在通过IOC创建对象的时候,如果对象还有属性,就一并给赋值进去DI是在IOC的基础上进行对象的属性注入通知是个在方法执行前或执行后要做的动作,实际上是程序执行时要通过SpringAOP框架触发的代码段。Spring切面可以应用五种类型的通知:a、before:前置通知,在一个方法执行前被调用。b、after: 在方法执行之后调用的通知,无论方法执行是否成功。
面试被问了几百遍的 IOCAOP ,一篇文章带你搞清楚!!!
相关项目可以查看https://gitee.com/fan-pl或https://github.com/fpl1116
01-05 1145
面试被问了几百遍的 IOCAOP ,一篇文章带你搞清楚!!!
Spring核心思想 IOCAOP
weixin_44796239的博客
10-29 1100
Spring核心思想 IOCAOP 注意:IOCAOP不是spring提出的,在spring之前就已经存在,只不过更偏向于理论化,spring在技术层次把这两个思想做了⾮常好的实现(JavaIOC 1、什么是IOCIoC Inversion of Control (控制反转/反转控制),注意它是⼀个技术思想,不是⼀个技术实现描述的事情:Java开发领域对象的创建,管理的问题 传统开发⽅式:⽐如类A依赖于类B,往往会在类A中new⼀个B的对象 IoC思想下开发⽅式:我们不⽤⾃⼰去new对象了,
【建议收藏】2024年Java程序员必备面试题,2024年最新springiocaop面试
最新发布
ghfgjfg679的博客
04-17 324
机会是留给有准备的人,大家在求职之前应该要明确自己的态度,熟悉求职流程,做好充分的准备,把一些可预见的事情做好。对于应届毕业生来说,校招更适合你们,因为绝大部分都不会有工作经验,企业也不会有工作经验的需求。同时,你也不需要伪造高大上的实战经验,以此让自己的简历能够脱颖而出,反倒会让面试官有所怀疑。你在大学时期应该明确自己的发展方向,如果你在大一就确定你以后想成为Java工程师,那就不要花太多的时间去学习其他的技术语言,高数之类的,不如好好想着如何夯实Java基础。请转发本文支持一下。
深入理解Spring两大特性:IoCAOP
热门推荐
null
02-14 9万+
众所周知,Spring拥有两大特性:IoCAOP。。Spring核心容器的主要组件是Bean工厂(BeanFactory),Bean工厂使用控制反转(IoC)模式来降低程序代码之间的耦合度,并提供了面向切面编程(AOP)的实现。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面编程(AOP)的容器框架。下面,我们简要说明下这两大特性。
Spring中的IOCAOP是什么意思?
weixin_45704311的博客
04-20 1万+
(1) Spring是什么? IOC(控制反转)和AOP(面向方面编程)作为Spring框架的两个核心,很好地实现了解耦合。所以,简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 spring的基本框架主要包含六大模块:DAO、ORM、AOP、JEE、WEB、CORE Spring DAO:Spring提供了对JDBC的操作支持:JdbcTemplate模板工具类 。 Spring ORM:Spring可以与ORM框架整合。例如Spring整...
Spring核心IoCAOP的理解
08-31
Spring核心IoCAOP的理解 本文主要介绍了Spring核心IoCAOP的相关知识,涵盖了IoCAOP的概念、特点、优点和应用场景等方面的内容。 一、IoC(Inversion of Control) IoC是一种设计模式,目的是为了降低应用...
SpringIOCAOP的深入
08-26
在本篇文章中,我们将深入Spring 中的两个核心概念:Inverse of Control(IOC)和 Aspect-Oriented Programming(AOP)。我们将通过示例代码和详细的解释,逐步介绍 Spring 中的 IOCAOP 的概念和实现方式。...
2022年Spring常见的面试题和答案.docx
11-11
Spring 框架的核心思想是控制反转(Inversion of Control,IOC),即将应用程序的依赖关系从应用程序中分离出来,并由 Spring 框架来管理这些依赖关系。 Spring 框架的主要特点包括: 1. 轻量:Spring 框架的基本...
Spring常见面试
11-02
Spring IOC(Inversion of Control)是Spring框架的核心机制,提供了一个容器来管理对象及其依赖关系。在容器启动时,把许多需要实例化和属性注入的bean都提前做好并放入到一个map中存储起来。这就是控制反转,原来...
47 Spring总结及常见面试问题与答案集锦慕课专栏1
08-03
- **IoC**:控制反转是一种设计原则,其核心思想是将对象的创建和管理交给框架,而非由对象自身负责。在Spring中,IoC通过容器来管理对象的生命周期和依赖关系。 - **依赖注入**:是IoC的一种具体实现方式,它允许...
SpringIOCAOP
凉城未暖夜微凉的博客
02-26 586
Spring是一个开原框架,是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。Spring的核心是控制反转(IoC)和面向切面(AOPSpring 是为了解决企业级应用开发的复杂性而创建的。在 Spring 之前,有一个重量级的工具叫做 EJB,使用 Spring 可以让 Java Bean 之间进行有效的解耦,而这个操作之前只有 EJB 才能完成,EJB 过于臃肿,使用很少。Spring 不仅仅局限于服务端的开发,在测试性和松耦合方面都有很好的表现。
Spring核心总结
jingju8354的博客
06-06 279
面试总结之SpringSping核心一:IOC1、什么是IOC?Sping核心二:AOP Sping核心一:IOC 1、什么是IOCIOC的主要思想是控制反转,什么是控制反转,就是原本创建bean的方式是由我们主动去new,而现在是通过我们的配置,由Spring来进行bean的创建,注入,由Spring来控制bean的入口。 Sping核心二:AOP .....................
面试Spring AOPIOC
致力于不留技术债务cuizb.top
01-16 2337
AOP:面向切面编程 概念 AOP (Aspect Orient Programming),直译过来就是 面向切面编程。AOP 是一种编程思想,是面向对象编程(OOP)的一种补充。面向对象编程将程序抽象成各个层次的对象,而面向切面编程是将程序抽象成各个切面。 为什么需要 AOP 想象下面的场景,开发中在多个模块间有某段重复的代码,我们通常是怎么处理的?显然,没有人会靠“复制粘贴”吧。在传统的面向过程编程中,我们也会将这段代码,抽象成一个方法,然后在需要的地方分别调用这个方法,这样当这段代码需要修改时,我们
Java面经
kkill_youokk_的博客
12-01 339
Java面经1.Spring介绍2.IOC控制反转3.AOP面向切面编程4.GC垃圾回收 1.Spring介绍 Spring是一个轻量级反入侵式的控制反转(IOC)和面向切面编程(AOP)的容器框架(开源)。 Spring是轻量级、非入侵式的框架。 轻量级指的是Spring中提供的服务是用户可以定制的,Jar包小,运行占用资源少。 非入侵式指的是引入Spring框架不会对原有项目造成影响。 方便解耦、简化开发:通过SpringIOC容器,使对象的依赖关系(对象的创建权)交给Spring控制,避免硬编码带来
SpringAOPIOC是什么?
qq_43582619的博客
01-24 1万+
1.AOP(Aspect Oriented Programming) 也叫做------面向切面编程。是一种通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP采取横向抽取机制,取代了传统纵向继承体系重复性代码(性能监视、事务管理、安全检查、缓存)。AOP面向方面编程基于IoC,是对OOP的有益补充。 AOP利用一种称为“横切”的技术,剖解开封装的对象内部,并将那些影响了 多个类的公共行为封装到一个可重用模块,并将其名为“Aspect”,即方面。所谓“方面”,简单地说,就是将那些..
Spring简述
weixin_44219115的博客
11-26 790
1、如何实现一个IOC容器 IoC(Inversion of Control),意为控制反转,不是什么技术,而是一种设计思想。Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。 2、spring是什么? Spring是一个开源的轻量级的Java开发框架。 ①IOC容器 Java思想是面向对象的开发,一个应用程序是由一组对象通过相互协作开发出的业务逻辑组成,那么如何管理这些对象,使他们高效地协作呢?抽象工厂、工厂方法设计模式”可以帮我们创建...
Spring面试解-谈谈Spring IOC的理解、原理与实现
Eistert
08-15 3752
题目 1.谈谈Spring IOC的理解,原理与实现。 2.谈一下spring IOC的底层实现。 3.描述一下bean的声明周期。 4.Spring是如何解决循环依赖的问题的? 5.Bean Factory 与FactoryBean有什么区别? 6.Spring中用的设计模式? 7.SpringAOP的底层实现原理。 8.Spring的事务是如何回滚的。 9.谈一下spring事务传播。 答题技巧 总:当前问题回答的是哪些具体的点 分:以1,2,3,4,5的方式分细节取描述相关的知识点,如果有哪些点
简单说说springiocaop面试
04-22
题? 好的,针对这个面试题,我可以简单地进行解答。 首先,Spring框架是一个Java企业级应用程序开发框架,其中最重要的两个特性就是IOC(控制反转)和AOP(面向切面编程)。 IOC也称为依赖注入(Dependency Injection),它是一种设计模式,通过将对象的创建和依赖关系的管理交给Spring容器来实现,从而使得对象之间的耦合度降低。IOC容器负责创建对象,这些对象之间相互依赖,依赖关系由IOC容器负责管理,降低了程序的耦合度和复杂度。 AOP是面向切面编程,它是与面向对象程序设计(OOP)相对的一种编程范式。AOP核心思想是面向横切关注点,将那些与业务无关,但不得不关心的部分分离出来,从而避免了代码的重复性。在Spring框架中,AOP主要是通过代理模式实现的。 以上就是对于SpringIOCAOP的简单解释。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • vue 的常用事件 10521
  • Spring boot 出现you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test 8367
  • Springboot 设置上传文件大小 7267
  • SQL Server 添加字段 修改字段 删除字段 语句 4981
  • Vue 多环境的配置 4453

分类专栏

  • 解决问题 17篇
  • 并发编程 2篇
  • RocketMQ 1篇
  • SpringBoot 23篇
  • 小功能 9篇
  • java 24篇
  • Spring 12篇
  • SpringData 3篇
  • 数据库基本操作 15篇
  • mybatis 11篇
  • redis 6篇
  • MybatisPlus 5篇
  • 笔记 19篇
  • SpringCloud 15篇
  • 仿b站项目 7篇
  • 安全 1篇
  • ECMAScript6 1篇
  • springboot source 1篇
  • linux 1篇
  • docker 1篇
  • SpringMVC 3篇
  • git 1篇

最新评论

  • (三)JPA - EntityManager的使用

    MattTian: 博主可以讲讲EntityManager的自定义复杂查询,这几个其实不太实用,继承JPARepository也能实现

  • 1 什么是Zookeeper 能干什么

    Lynn Lu: 生动形象,点赞表情包

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 完美的一天
  • 解决SpringMVC重定向参数无法携带问题
  • (四) 一文搞懂 JMM - 内存模型
2024年1篇
2022年100篇
2021年27篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司大浪品牌网站设计平湖网站优化按天计费南山网站优化软件南澳网络营销福田营销型网站建设宝安高端网站设计横岗网站优化按天扣费沙井企业网站建设大运百度爱采购同乐网络营销南山品牌网站设计大浪阿里店铺运营福永营销网站木棉湾设计公司网站大芬seo网站推广坪地网站搜索优化广州网站排名优化荷坳seo网站推广龙华SEO按效果付费坪地网站优化按天收费福田网站推广工具松岗推广网站南山百搜标王平湖网站建设福永设计网站同乐网站优化按天收费东莞网站开发木棉湾营销型网站建设坂田网站搜索优化丹竹头企业网站设计歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化