位置: IT常识 - 正文

SpringIOC和AOP介绍(spring的aoc和aop)

编辑:rootadmin
SpringIOC和AOP介绍 Spring介绍

推荐整理分享SpringIOC和AOP介绍(spring的aoc和aop),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:spring的ioc与aop,spring的aoc和aop,简述spring ioc和aop分别是什么,springioc和aop的原理,springioc和aop的理解,springioc和aop的原理,spring的aoc和aop,springioc和aop的理解,内容如对您有帮助,希望把文章链接给更多的朋友!

1.spring是轻量级的开源的JavaEE框架

2.Spring可以解决企业应用开发的复杂性

3.Spring有两个核心部分:IOC、AOP

​ (1)IOC:控制反转,把创建好的对象给Spring进行管理

​ (2)AOP:面向切面编程,不修改源代码的情况下进行功能增加。

Spring特点

1.方便解耦,简化开发。

2.AOP支持

3.方便程序测试

4.方便和其他框架整合

​ 6.降低了API开发难度

IOCIOC底层原理和基本概念

inversion for control 控制反转。把对象创建和对象之间的调用过程,交给spring进行管理。

使用目的:为了耦合度降低。

耦合度:也就是两个方法之间的关联程度,越小越好。

类似于图下,如果我去修改了UserDao中的add方法,那么Service层中的方法也需要去修改。 但是当我们去使用了工厂模式,就会去降低耦合度。

ioc接口 BeanFactory

​ 1、Ioc思想基于IOC容器完成,ioc就是对象工厂。

​ 2、spring提供ioc容器实现两种方式:(功能相似)

​ (1)**.beanFactory**:ioc容器基本实现,是spring自带 内部使用的,不提供给开发人员使用。

​ * 加载配置文件的时候,不会去创建对象。在获取对象(使用)才去创建对象。 什么时候用 什么时候创建对象。

(2)ApplicationContext:是BeanFactory接口的子接口,提供更强大的功能,由开发人员使用。

​ * 加载配置文件的时候,就会去创建对象。

常见的依赖注入三种方式1、set方法进行注入

(在bean中创建属性和创建set方法)

​ 1.创建类,生成属性的set方法

​ 2.在配置文件中创建对象,后使用set方法注入属性

 <bean id="book" class="com.cztu.tdj.spring5.Book">        <property name="bname" value="tdj"></property>        <property name="bauthor" value="javaSpring"></property>    </bean>2、使用有参构造进行注入

(1)创建类,定义属性,创建属性的有参构造

(2)在spring的配置文件中注入

    <bean id="orders" class="com.cztu.tdj.spring5.Orders">        <constructor-arg name="oname" value="拼多多"></constructor-arg>        <constructor-arg name="address" value="120"></constructor-arg>                //也可以基于index属性注入,0代表有参构造第一个属性        <constructor-arg index=1 value="120"></constructor-arg>    </bean>SpringIOC和AOP介绍(spring的aoc和aop)

使用注解test时,类必须为public,方法也必须是public!!!

3、p名称空间注入

(1)使用p名称空间注入,可以简化基于xml配置方式

1添加p名称空间在配置文件中      xmlns:p="http://www.springframework.org/schema/p"2使用set方法注入<bean id="book" class="com.cztu.tdj.spring5.Book" p:bauthor="汤冬江" p:bname="javapy"/>Bean管理(FactoryBean)

1、Spring有两种类型Bean,一中普通bean,还有一种是工厂bean。

2.普通bean:在配置文件中,定义的类型就是返回的类型。**

3.工厂bean:在配置文件中,定义的类型可以和返回类型不一样。

bean作用域:

prototype、singleton、session、request

singleton 和prototype区别:

(1)singleton是单实例,prototype 是多实例对象

(2)设置scpe值为singleton时,加载spring配置文件时会创建单实例对象。

(3)设置scpe值为prototype时,不是加载spring配置文件时会创建实例对象,而是用getBean时才去创建对象

Spring针对bean管理中创建对象提供注解**

(1)@Component

(2)@Service

(3)@controller

(4)@Repository

功能一样,都是创建bean实例。但是他们用到不同地方。

AOP

AOP:面向切面编程 。不通过修改源代码的方式,在主干功能里添加新功能。

aop底层原理

1、aop底层使用了动态代理

(1)有两种情况的动态代理:

​ 1、有接口的情况,使用jdk动态代理

​ ·创建接口实现类对象,去增强类中的方法

2、没有接口的情况,使用CGLIB动态代理

​ 创建子类的代理对象,去增强类中的方法

aop动态代理实现(jdk)

1、使用jdk动态代理,使用Proxy类里的方法创建代理对象

newProxyInstance其中的三个参数:(1)类加载器;(2)增强方法的所在类,这个类实现的接口,支持多个接口;(3)实现这个接口InvocationHandler,创建代理对象,写增强的方法

2、jdk动态代理代码

(1)创建接口,定义方法

(2)创建接口实现类,实现方法

(3)使用proxy类c

基于匿名内部类实现接口;

本文链接地址:https://www.jiuchutong.com/zhishi/300270.html 转载请保留说明!

上一篇:JS实现数组去重的八种方法(实用)(js 数组去重的四种方法)

下一篇:网页制作基础学习——HTML+CSS常用代码(网页制作零基础教程)

  • 红米note11电池容量是多少(红米note11 电池)

    红米note11电池容量是多少(红米note11 电池)

  • 苹果11竖屏锁定在哪里(苹果竖屏锁定怎么设置)

    苹果11竖屏锁定在哪里(苹果竖屏锁定怎么设置)

  • 华为mate40pro像素是多少(华为mate40pro像素和苹果哪个好)

    华为mate40pro像素是多少(华为mate40pro像素和苹果哪个好)

  • 微信运动没网络会计步吗(手机微信运动)

    微信运动没网络会计步吗(手机微信运动)

  • 手机经常无服务是什么原因(为什么苹果手机经常无服务)

    手机经常无服务是什么原因(为什么苹果手机经常无服务)

  • qq群里匿名聊天管理员能查出是谁吗(qq群里匿名聊天群主能查出是谁吗)

    qq群里匿名聊天管理员能查出是谁吗(qq群里匿名聊天群主能查出是谁吗)

  • 手机换完电池发热(手机换完电池发烫严重是电池原因吗)

    手机换完电池发热(手机换完电池发烫严重是电池原因吗)

  • 华为matebook14键盘灯怎么打开(华为matebook14键盘锁了)

    华为matebook14键盘灯怎么打开(华为matebook14键盘锁了)

  • 华为手机镜头玻璃碎了(华为手机镜头玻璃碎了保修吗)

    华为手机镜头玻璃碎了(华为手机镜头玻璃碎了保修吗)

  • wmv和mp4格式的区别(wmv格式和mp4有什么区别)

    wmv和mp4格式的区别(wmv格式和mp4有什么区别)

  • 苹果11可以单独换外屏吗(苹果11可以单独设置闹钟音量吗)

    苹果11可以单独换外屏吗(苹果11可以单独设置闹钟音量吗)

  • 微信卡包删除了怎么恢复(微信卡包删除了港澳通行证还能用吗)

    微信卡包删除了怎么恢复(微信卡包删除了港澳通行证还能用吗)

  • 浑浊水下摄像机原理(水下高清摄像头 浑水)

    浑浊水下摄像机原理(水下高清摄像头 浑水)

  • 小红书可以看到访客吗(小红书可以看到历史浏览记录吗)

    小红书可以看到访客吗(小红书可以看到历史浏览记录吗)

  • zip/postal code什么意思(zip postal code怎么填)

    zip/postal code什么意思(zip postal code怎么填)

  • 微信置顶文字怎么设置(微信置顶文字怎么设置苹果手机)

    微信置顶文字怎么设置(微信置顶文字怎么设置苹果手机)

  • 小米9pro怎么唤醒小爱同学(小米9pro怎么使用)

    小米9pro怎么唤醒小爱同学(小米9pro怎么使用)

  • 己发布的抖音怎么更换音乐(己发布的抖音怎么换音乐)

    己发布的抖音怎么更换音乐(己发布的抖音怎么换音乐)

  • vivos1有红外线没(vivo手机为什么没红外线)

    vivos1有红外线没(vivo手机为什么没红外线)

  • 华为mate30手机尺寸(华为mate30手机尺寸长,宽多少)

    华为mate30手机尺寸(华为mate30手机尺寸长,宽多少)

  • 苹果11 11pro 11pro max有什么区别(苹果1111pro11promax图片)

    苹果11 11pro 11pro max有什么区别(苹果1111pro11promax图片)

  • ppt有哪些用途(ppt的作用包括什么)

    ppt有哪些用途(ppt的作用包括什么)

  • 如何通过点赞查qq号码(如何通过点赞查手机号)

    如何通过点赞查qq号码(如何通过点赞查手机号)

  • 跨栏居中显示怎么设置(跨栏居中在哪)

    跨栏居中显示怎么设置(跨栏居中在哪)

  • 如何在Win11中重命名PC计算机(windows11怎么重置)

    如何在Win11中重命名PC计算机(windows11怎么重置)

  • Web自动化测试怎么做?Web自动化测试的详细流程和步骤(web 自动化测试)

    Web自动化测试怎么做?Web自动化测试的详细流程和步骤(web 自动化测试)

  • OpenGL ES 名词解释(一)(opengl全称)

    OpenGL ES 名词解释(一)(opengl全称)

  • 工程结算属于什么行业
  • 车间管理人工资计入什么科目
  • 出纳人员去银行提取现金时应填写现金缴款单
  • 小规模纳税人开普票要交税吗
  • 预缴纳个人所得税
  • 公益性生物资产属于什么科目
  • 公司购车按揭利息可以开票吗
  • 销售企业需要交的营业税
  • 城镇土地使用税征收标准及计算方法
  • 个体工商户上月开发票超额了 ,定额改查账征收了
  • 资产减值准备所得税申报中要填主表吗
  • 增值税抵扣凭证管理
  • 考勤扣款是税前还是税后
  • 到底如何理解参数方程
  • 预付款税率是多少
  • 纳税额和纳税总额
  • 预缴地实现的月销售额未超过
  • 上市公司现金分红怎么派发
  • 个税经营所得申报怎么更正
  • 2021新版win10
  • 会计科目发出商品
  • 兼职属于劳动关系还是雇佣
  • linux中的
  • uni app
  • Win10 20H2 LSASS.exe自动重启故障已得到修复
  • 摊余成本计量的金融资产
  • 为什么linux这么受欢迎
  • win7系统打印机在哪里
  • 所有者权益类的期末余额公式
  • 圣保罗大教堂是什么教
  • 海峡群岛属于哪个洲
  • 企业所得税核定征收方法
  • 固定资产的使用寿命超过一个会计年度
  • nvm for window
  • unipoint
  • 小规模纳税人年收入超过500万必须转为一般纳税人吗
  • 装修费摊销3年会计分录
  • 已缴纳增值税还可以退吗
  • 网上学电脑哪个软件好
  • 经营性现金流减利息
  • SQL server 2008安装程序遇到以下错误 sku
  • 个人劳务报酬所得税税率
  • 经营一家淘宝店铺,自然就应该做好
  • 园林绿化企业属于什么行业
  • 汽车保险费计入应付账款还是其他应付款
  • 股东之间股权转让流程
  • 建筑行业 营改增
  • 资产负债表怎么算
  • 股东不任职,是否可以参与企业经营
  • 城镇土地使用税每年都要交吗
  • 外购商品职工福利进项税额转出如何记账?
  • 税盘连接服务器失败
  • 做账的基本流程和格式
  • 收购发票如何确认成本
  • 存货周转率越高好还是越低好
  • 施工企业如何确定收入和成本
  • 公司两年未给员工申报个税违法吗
  • 预收账款计入应收账款怎么弄
  • 票折费用是什么意思
  • 培训费做什么会计分录
  • 什么情况会影响到征信
  • 季度平均人数怎么算出来的
  • 可供出售金融资产属于什么科目
  • 如何学会计做账视频
  • mysql安装与配置详细教程
  • windows的设置
  • linux gunzip
  • 如何将win10系统从c盘迁移到d盘
  • 2021年win10累积更新
  • win8.1技巧
  • json和ui
  • 你需要知道的100位艺术大师
  • 深入解析windows第7版pdf
  • listview控件设置多个列
  • javascript如何学
  • jquery访问本地html
  • 欢迎使用来电提醒业务是什么意思
  • 印花税没有做税种认定怎么办
  • 跨境电商出口商品结构
  • 2021房屋退税流程怎么操作
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设