当前位置: 首页 > news >正文

沈阳中联做网站启博微分销系统

沈阳中联做网站,启博微分销系统,支付宝网站设计分析,建筑行业网Spring中的AOP与IOC 1.前言2.Spring AOP#xff08;面向切面编程#xff09;2.1 AOP的实现过程2.2 AOP代理模式的类型2.2.1JDK的动态代理2.2.2CGLIB的动态代理 2.3AOP应用常见场景2.3.1日志记录 2.4对AOP的理解 3.Spring IOC#xff08;Inversion of Control#xff0c;控… Spring中的AOP与IOC 1.前言2.Spring AOP面向切面编程2.1 AOP的实现过程2.2 AOP代理模式的类型2.2.1JDK的动态代理2.2.2CGLIB的动态代理 2.3AOP应用常见场景2.3.1日志记录 2.4对AOP的理解 3.Spring IOCInversion of Control控制反转3.1使用Spring IOC 的好处3.2使用Spring IOC 依赖注入的方式3.2.1通过xml文件注入3.2.2通过注解注入 3.3IOC的理解 4.参考 文章所属专区 日积月累 1.前言 本文主要针对Spring中两大特性AOP和IOC,并针对他们的使用常见结合面试常见问题实现代码进行解析。 2.Spring AOP面向切面编程 在使用Java语言进行代码编写时由于Java语言的特性会有一些弊端比如在处理一些不具有继承关系的一些类的公共行为时只能在每个对象引用公共行为会出现大量重复代码会造成大量代码冗余这样不仅浪费时间也不方便维护AOP的出现解决了这一个问题。 2.1 AOP的实现过程 Spring中的AOP基于代理模式首先会自定义一个注解 其次定义一个切面Aspect类在切面中定义切点和通知切点方法的拦截规则在使用了这个注解的方法会被拦截下来拦截下来之后 最后可以进行前置通知、后置通知、异常通知、返回通知还是环绕通知等。 2.2 AOP代理模式的类型 代理类可以分为两类 动态代理Dynamic Proxy和静态代理Static ProxySpring AOP面向切面编程中主要是运用了动态代理的方式来实现在运行过程中通过反射机制动态创建而成无需手动编写代码。 2.2.1JDK的动态代理 JDK动态代理是Spring AOP默认使用的方式主要用于对实现了接口的类生成代理。JDK动态代理主要涉及到java.lang.reflect包中的两个类Proxy和InvocationHandler。InvocationHandler是一个接口通过实现该接口定义横切逻辑并通过反射机制调用目标类的代码动态将横切逻辑和业务逻辑编制在一起。Prox则利用InvocationHandler动态创建一个符合某一接口的实例生成目标类的代理对象 2.2.2CGLIB的动态代理 CGLIBCode Generation Library是针对类实现代理的主要是对指定的类生成一个子类覆盖其中的方法继承。CGLIB是一个强大的高性能高质量的代码生成类库可以在运行期扩展Java类与实现Java接口。CGLIB封装了asm可以再运行期动态生成新class 2.3AOP应用常见场景 比如日志记录性能优化权限控制内容传递错误处理事务管理限流等。 2.3.1日志记录 在Spring AOP中可以使用AspectJ注解定义一个切面然后在切面方法中添加Before或After注解用于在方法执行前后插入相应的日志记录逻辑 2.4对AOP的理解 AOP是Spring框架中最核心的两个点之一它可以减少重复代码降低模块间的耦合性提高代码的可操作性和可维护性。在实际工作中除了业务代码之外还经常会接触到与业务无关的一些组件比如日志权限事务等常见的核心服务组件如果为每个业务代码单独添加这些组件会出现大量的冗余代码因此我们将这些公共的代码逻辑抽象出来成为一个切面然后注入到具体业务中去。AOP就是通过这样一种方式通过动态代理的方式来对需要注入切面的对象进行代理在进行调用时直接将公共逻辑添加进去而不需要修改原有的业务代码在不改变原有业务代码的情况下做了代码功能的增强。 3.Spring IOCInversion of Control控制反转 在传统的软件设计过程中通常由调用者来创建被调用者的实例。但在Spring中创建被调用者的工作不在由调用者来完成这就是控制反转。IOC是一种设计思想即把原本在程序中手动创建对象的控制权交给了Spring框架中的IOC容器让它去创建和管理这些对象。在Spring中实现IOC主要依靠DI(Dependency Injection 依赖注入) 来实现。 3.1使用Spring IOC 的好处 在 Spring 中 IoC 容器是 Spring 用来实现 IoC 的载体 IoC 容器实际上就是个 MapkeyvalueMap 中存放的是各种对象。 由于资源不再由使用资源的双方管理因此资源可以集中管理实现资源的可配置和易管理降低了使用资源双方的依赖程度低耦合度。 3.2使用Spring IOC 依赖注入的方式 3.2.1通过xml文件注入 属性注入property、构造器注入constructor-arg、自动装配通过对bean的autowrite属性指定byName、byType 3.2.2通过注解注入 这种方式后来在 SpringBoot 中常用 autowrite resource component等 3.3IOC的理解 IOC 控制反转: 在没有使用IOC容器之前都是由程序员来控制对象而有了IOC容器之后则由IOC容器来控制对象 控制的是实现过程中所需要的对象以及依赖的对象 在没有使用IOC之前我们都需要主动在对象中创建依赖的对象这种正转的而有了IOC之后依赖的对象由IOC创建后注入到对象中,由主动创建变成了被动接受这是反转; IOC是一种思想DI依赖注入把对应的属性的值注入到对象是具体的实现方式 AutoWried IOC 容器Spring用来实现IOC的载体实际是个Map(Key,value),Map中存放的是各种对象 在Spring中一般存在三级缓存singletonObject存放完整的Bean对象,整个Bean的生命周期从创建到使用到销毁全部都由容器来控制。 4.参考 谈谈对IOC的理解 Spring AOP的理解与使用 面试被问了几百遍的 IoC 和 AOP 还在傻傻搞不清楚 给个三连吧 谢谢谢谢谢谢了
http://www.pierceye.com/news/913234/

相关文章:

  • 效果好的徐州网站建设休闲食品网站建设策划书
  • 如何发布自己的网站wordpress 4.9.6 下载
  • 织梦网站打开慢企业咨询师资格证
  • 蓬莱网站建设哪家好广州白云网站建设
  • 网站建设得花多少钱做购物网站能否生存
  • 多语言网站 用什么cms深圳Wordpress网站
  • 常州市建设工程质量监督站网站开发公司设计管理岗位述职
  • 国外网站顶部菜单设计谷歌seo文章
  • 梅州网站开发外国自适应企业网站
  • 大型网站建设动力无限哪个公司的装饰设计公司
  • 网站建设与管理自考wordpress替换默认的编辑器
  • 企业在网站推广咸阳做网站开发公司
  • 从美洲开始做皇帝免费阅读网站wordpress嵌入优酷视频播放
  • 长沙 外贸网站建设国际足联世界排名
  • 辽宁省建设执业继续教育协会网站深圳网站制作建设服务公司
  • 个人网站备案都需要什么运营seo是什么意思
  • 局域网内部网站建设app下载苏州网络推广企业
  • 重庆美邦 网站建设保定最新消息发布
  • 东莞手机建网站旅游网站 分析
  • 网站seo优化技术入门做网站怎样实现网上支付
  • 陕西西安网站建设公司源码编程器
  • 网站开发的前端技术有哪些软件制作是什么专业
  • 淘宝网站建设目标是什么意思厦门seo计费
  • 高端网站建设注意简述网络营销的基本方法
  • html5网站开发实例教程沈阳软件定制开发公司
  • 做透水砖的网站下载爱南宁乘车
  • 免费建设工程信息网站许昌市建设路小学网站
  • 网站建设公司华网天如何设置自己的网址
  • 株洲做网站那家好黑龙江网站设计
  • 培训视频网站百度权重划分等级