Spring框架:谈谈对IOC和AOP的理解
在java面试中,如果我们被问及Spring框架的相关问题,那么一定避不开对Spring中的IOC和AOP的理解和使用,本文就简单谈论对于Spring中IOC和AOP的理解。
一、IOC的理解
1.1 IOC的概念与原理
IOC,即控制反转,把对象的创建、初始化、销毁交给 Spring 来管理,而不是由开发者控制,实现控制反转。IOC 思想基于 IOC 容器完成,IOC 容器底层就是对象工厂(BeanFactory 接口)。IOC的原理是基于xml解析、工厂设计模式、反射实现的。使用IOC可以降低代码的耦合度。
1.2 Spring 提供 IOC 容器实现两种方式
二、AOP的理解
2.1 AOP的概念
2.2 AOP的底层原理
AOP底层是使用动态代理来实现的,这里有两种情况的动态代理:
2.3 AOP的专业术语
① 连接点:类里面可以被增强的方法,这些方法被称为连接点。
② 切入点:实际被真正增强的方法,称为切入点。
③ 通知(增强):(1)实际增强的逻辑部分称为通知(增强)
(2)通知有多种类型:前置通知、后置通知、环绕通知、异常通知、最终通知
④ 切面:把通知应用到切入点的过程,称为切面。
2.4 AOP的操作
Spring框架:谈谈对IOC和AOP的理解相关推荐
- Spring框架的灵魂IOC和AOP
2019独角兽企业重金招聘Python工程师标准>>> 关键词 名称 模式 实现方式 IOC 依赖注入或控制反转 工厂模式 sessionfactory注入 AOP 面向切面编程 代 ...
- 面试官:谈谈你对IOC和AOP的理解及AOP四种实现方式
目录 一.IOC与AOP介绍 二.实现AOP的四种方式 方式1:基于经典代理来实现 方式2:使用Spring AOP的API接口 方式3:自定义类来实现AOP 方式4:基于注解实现 一.IOC与AOP ...
- Spring框架两大核心特征的基本理解
Spring框架的两大核心特征:AOP和IoC IoC(控制反转)是Spring的一个容器,他不是一种技术,而是一种思想,依旧是基于面向对象编程的.它能指导我们怎么样设计出松耦合.更优良的程序. 简单 ...
- IOC和AOP概念理解
IOC和AOP概念理解总结: IOC:控制反转 是一种降低对象之间耦合关系的设计思想,面试的时候最好能说出来个例子,加深理解.例子:租房子,以前租房子需要一个房子一个房子找,费时费力,然后现在加入一个 ...
- 谈谈自己对Spring中IOC和AOP的理解
Spring框架的核心思想主要是IOC和AOP的思想 IOC IOC概念 Spring中的IOC AOP AOP概念 百度百科的解释 个人理解 AOP思想 IOC IOC概念 所谓IOC即 Inver ...
- Spring的IoC与AOP的理解
1.Spring它到底是什么? Spring是一个开源的Java应用程序开发框架,为了解决企业应用开发的复杂性而创建的. 在spring中,它会认为一切Java类都是资源,而资源就是Bean,容纳 ...
- 请解释下Spring 框架中的IOC 容器?
Spring 中的org.springframework.beans 包和org.springframework.context 包构成了Spring 框架IOC 容器的基础. BeanFactory ...
- Spring框架介绍和IOC介绍
一.Spring简介 1.什么是Spring?作用有什么? Spring是一个开源框架,它由Rod Johnson创建.它是为了解决企业应用开发的复杂性而创建的. Spring使用基本的JavaBea ...
- @select注解_SSM框架(十三):Spring框架中的IoC(3)新注解,完全摆脱xml文件
spring中的新注解 1.Configuration 作用:指定当前类是一个配置类 细节:当配置类作为AnnotationConfigApplicationContext对象创建的参数时,该注解可以 ...
最新文章
- linux终端运行pytorch,Linux虚拟机测试pytorch运行
- 随机数据的构造与使用
- 快速排序,排序一亿数据用时14秒
- Unity手游之路lt;七gt;角色控制器
- Qt文档阅读笔记-Q_CLASSINFO官方解析与实例
- 《统计学习方法》读书笔记
- 在 macOS 中如何使用「预览」批量调整图片大小?
- jsp连接mysql 菜鸟_在JSP中访问数据库大全
- ISO18000-6B和ISO18000-6C(EPC C1G2)标准的区别
- 极智开发 | Go 安装教程
- init: wait for '/dev/block/bootdevice/by-name/cache' timed out and took 5007ms【学习笔记】
- 【聚英云农】无线节水灌溉系统应用智慧农业
- SQL解决Error converting data type nvarchar to numeric.
- python下载酷狗音乐上的歌曲
- php实现图片液化,图像变形算法:实现Photoshop液化工具箱中向前变形工具
- Emgu CV 第一个实例
- Pippo已经不能只用超级来形容了
- 2020年河南科技大学892西方经济学考研真题题库等资料汇总
- 交换机进阶配置 、 路由器组网 、 企业网架构
- husky的仿真建图和导航
热门文章
- css3小鸡从鸡蛋破壳而出动画js特效
- 小学用计算机画图单元教学要求,小学电脑绘画教学计划
- Result Maps collection already contains value for com.framework.mapper.UserMapper.xml
- WTM(ASP.NET Core)使用SignalR,后台网页接收实时消息通知
- java数据结构YZP专栏-----链表
- php小程序 跳一跳,微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧
- 华为的型号命名规则_华为5G新机获3C认证!充电功率10W可能是千元机
- 数据爬虫爬数据时常遇到的问题
- STM32输出 PWM频率 占空比 连续可调~~
- 机顶盒平台的字幕数据格式分析及其显示实现