位置: 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常用代码(网页制作零基础教程)

  • qq音乐会员下载的歌曲可以存在U盘吗(qq音乐会员下载后可以永久用吗)

    qq音乐会员下载的歌曲可以存在U盘吗(qq音乐会员下载后可以永久用吗)

  • OPPO手机如何调输入法键盘高度(oppo手机如何调字体)

    OPPO手机如何调输入法键盘高度(oppo手机如何调字体)

  • edlal10是什么手机型号(edl-al10是什么型号)

    edlal10是什么手机型号(edl-al10是什么型号)

  • 抖音自己给自己点赞会拉低播放量吗(抖音自己给自己送礼物)

    抖音自己给自己点赞会拉低播放量吗(抖音自己给自己送礼物)

  • 怎样恢复快手查找功能(快手恢复记录)

    怎样恢复快手查找功能(快手恢复记录)

  • 快手怎么设置微信支付(快手怎么设置微信号)

    快手怎么设置微信支付(快手怎么设置微信号)

  • uefi hard disk是固态硬盘吗(uefe hard disk)

    uefi hard disk是固态硬盘吗(uefe hard disk)

  • 华为nova7pro怎么设置返回键(华为nova7pro怎么设置微信视频美颜)

    华为nova7pro怎么设置返回键(华为nova7pro怎么设置微信视频美颜)

  • 联想笔记本电脑怎么关机(联想笔记本电脑售后24小时电话)

    联想笔记本电脑怎么关机(联想笔记本电脑售后24小时电话)

  • 摄像头一般保持记录多少时间(摄像头最久保存多少天)

    摄像头一般保持记录多少时间(摄像头最久保存多少天)

  • 苹果7听筒声音小免提大(苹果手机听筒声音小)

    苹果7听筒声音小免提大(苹果手机听筒声音小)

  • 抖音怎么开启下载功能(抖音怎么开启下载水印)

    抖音怎么开启下载功能(抖音怎么开启下载水印)

  • 页眉页脚指哪里(页眉页脚指的是什么)

    页眉页脚指哪里(页眉页脚指的是什么)

  • nova5pro分屏设置在哪里(nova5pro分屏怎么用)

    nova5pro分屏设置在哪里(nova5pro分屏怎么用)

  • 小米路由器r1c支持千兆吗(小米路由器r1c支持多少兆)

    小米路由器r1c支持千兆吗(小米路由器r1c支持多少兆)

  • 网页在历史记录中保存10天怎么设置(网页在历史记录中保存10天)

    网页在历史记录中保存10天怎么设置(网页在历史记录中保存10天)

  • 计算机怎么查看机身内存(计算机怎么查看之前的记录)

    计算机怎么查看机身内存(计算机怎么查看之前的记录)

  • word艺术字环绕方式在哪里(word艺术字环绕方式为嵌入型)

    word艺术字环绕方式在哪里(word艺术字环绕方式为嵌入型)

  • ps格式是什么(ps格式是什么后缀)

    ps格式是什么(ps格式是什么后缀)

  • word怎么在纸上画横线(word怎么在纸张中间加竖线)

    word怎么在纸上画横线(word怎么在纸张中间加竖线)

  • 京东差评如何删除评价

    京东差评如何删除评价

  • 华为mate20pro5g版什么时候上市(华为mate20pro256)

    华为mate20pro5g版什么时候上市(华为mate20pro256)

  • 华为智慧能力是什么功能(华为智慧能力是干嘛的 知乎)

    华为智慧能力是什么功能(华为智慧能力是干嘛的 知乎)

  • 微软输入法中文模式打出来是字母解决方法(微软输入法中文输入卡顿)

    微软输入法中文模式打出来是字母解决方法(微软输入法中文输入卡顿)

  • Vue3【Transition(效果、CSS 过渡、使用animation、TransitionGroup、 KeepAlive、Teleport )】(七)-全面详解(学习总结---从入门到深化)

    Vue3【Transition(效果、CSS 过渡、使用animation、TransitionGroup、 KeepAlive、Teleport )】(七)-全面详解(学习总结---从入门到深化)

  • 数论笔记(数论电子书下载)

    数论笔记(数论电子书下载)

  • 增值税加计抵减政策10%和15%
  • 加油卡充值可以退吗
  • 增值税发票注明金额是含税还是不含税
  • 金税三期账号是自己申请吗
  • 离退休再任职人员的收入是否缴纳个人所得税?
  • 可以采用三栏式的明细账的有
  • 税控系统技术维护费抵税怎么申报
  • 未达账项怎么做会计分录
  • 事业编人员贷款
  • 收不回来应收账款会计分录
  • 不动产修理领用原材料账务处理?
  • 税务社保扣取300干嘛的
  • 企业理财收入交哪些税
  • 待认证进项税额转出会计分录
  • 保险代理的佣金怎么算
  • 关于发票入账的会计分录
  • 预收房款不征税发票
  • 固定资产直接进费用违背什么
  • 赠送给客户的商品怎么做账
  • 增值税预缴税款表项目编号是什么
  • 单位存款账户按用途分为
  • 个人所得税的税率是多少
  • 生产的废材料处理如何记账是否缴税?
  • 汽车过户费包括
  • 系统安装的步骤
  • mac侧边栏设置
  • 查补税款有未缴纳怎么办
  • 委托加工物资企业收回自用
  • 二级资本债记哪个科目
  • 年终奖发放管理制度
  • 计提固定资产折旧怎么做会计科目
  • 电脑eb是什么意思
  • 帝国cms移动端
  • 固定资产毁损应该填制什么凭证
  • php将数字转为字符串
  • 减值准备对方科目不能是固定资产
  • 向梵高致敬油画
  • 微信随机红包表情包怎么弄
  • 手机充值如何开公司发票
  • 小规模纳税人销售货物税率是多少
  • 撤销红字发票申请表
  • 印花税的计算公式与计算注意事项
  • 建筑业简易计税预交
  • 可供出售金融资产的会计处理
  • 以前年度损益调整结转到哪里
  • 工程投标保证金什么时候交
  • 企业清算状态还要报税吗
  • 非流动性资产有
  • 企业应付职工薪酬增加说明什么
  • 如何利用公式计算
  • sql复制表的语句
  • 微软出win9了吗
  • 2008r2数据库备份
  • Linux系统中管理员如何获得root权限
  • solaris route add
  • Windows计划任务 不管是否登录 没有窗口
  • Win10预览版怎么变回正式版
  • 如何禁止mac adobe acrobat联网
  • linux文件系统损坏导致网络断开
  • 怎样下载电子书免费的
  • win8 应用商店
  • win7系统怎么创建虚拟网络
  • 更新win10后扬声器无声音
  • nodejs使用场景
  • android的基本概念
  • android DefaultHttpClient设置setCookieStore
  • python常用的库
  • jQuery Ajax 加载数据时异步显示加载动画
  • sudo提权漏洞
  • linux两个版本
  • javascript零基础
  • js 上传
  • 全面解析白羊座o型血女
  • python html转markdown
  • 税控盘时钟异常去政务大厅那个窗口办理
  • 北京税务总局
  • 浙江省国税公务员工资
  • 本年累计实际已预缴的所得税额怎么填
  • 股权转让所得怎么申报
  • 福建省泉州市石狮市新服装城
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设