首页 > 其他分享 >对SpringIOC和SpringAOP的理解

对SpringIOC和SpringAOP的理解

时间:2023-05-29 11:02:48浏览次数:36  
标签:SpringIOC 理解 组件 bean 依赖 SpringAOP 注入

SpringIOC和SpringAOP是Spring的两个核心组件。

SpringIOC:SpringIOC是一个管理bean的容器,能够帮我们管理bean的整个生命周期,在没有SpringIOC的时候,我们需要自己手动的管理bean以及bean的依赖关系,这样会增加耦合,而有了SpringIOC,它能帮我们管理bean以及bean的依赖关系,使得代码解耦。

DI:依赖注入,DI是SpringIOC的实现方式,由容器动态的将依赖关系注入到组件中。

依赖注入的三种方式:setter注入构造器注入接口注入

SpringAOP:面向切面编程,它能抽取出非核心业务代码根据要织入的位置,统一解决一批组件的共性问题,比如:记录日志、事务处理等。

Spring事务基于SpringAOP实现:在方法前后进行拦截,方法开始前开启事务,方法结束后提交事务或者回滚事务。

标签:SpringIOC,理解,组件,bean,依赖,SpringAOP,注入
From: https://www.cnblogs.com/yhb-blogs/p/17439834.html

相关文章

  • xargs 命令理解
    xargs命令的作用:主要用于参数替换,用于弥补有些命令(rm,kill,echo等)不能从管道中读取数据的不足。xargs命令默认的命令和默认的定界符xargs的默认命令是echo,空格是默认定界符。这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代......
  • 最简单理解高内聚低耦合
    低耦合:耦合就是元素与元素之间的连接,感知和依赖量度。这里说的元素即是功能,对象,系统,子系统,模块。例如:现在有方法A和方法B我们在A元素去调用B元素,当B元素有问题或者不存在的时候,A元素就不能正常的工作,那么就说元素A和元素B耦合耦合带来的问题:当元素B变更或者不存在时,都将影响......
  • 对volatile的理解
    volatile保证了线程之间的可见性。即某个线程修改了一个共享变量,这个变量立刻对所有线程可见。volatile保证了指令重排序:用volatile修饰的共享变量在读、写时会加入一个内存屏障,保证了指令重排序。volatile可以保证可见性、有序性,但是不能保证原子性。......
  • JVM 例子,理解
     一个线程一个栈,栈为线程私有。图中只有一个main线程。某方法返回时,它对应的栈帧也会释放掉。方法区进行类加载,类的字节码中有代码code所有对象都在堆进行分配 main线程的时间片(内核分配的)用完了, 上下文切换,cpu执行t1,要把main线程的栈帧都保存下来......
  • 深入理解 Java 虚拟机 —— Java 内存模型与线程
    处理器的效率和一致性(与java内存访问可类比)计算机同时去做几件事情,不仅是因为计算机的运算能力强大了,还有一个很重要的原因是计算机的运算速度与它的存储和通信子系统的速度差距太大,大量的时间都花费在磁盘I/O、网络通信或者数据库访问上。如果不希望处理器在大部分时间里都处......
  • 用redis项目练习笔记,跟着黑马敲,并有自己的理解在里面
    点评中,优惠卷牵扯到的秒杀问题。超卖现象如果多线程同时执行会因为高并发,先查询再插入之间会有空档时间,发生超卖问题。可以使用悲观锁或者乐观锁解决,出于对性能的考虑,用到了乐观锁。乐观锁的实现,用到了数据库where语句多加一个条件。每次判断跟上次相同,(这样会造成大量的失......
  • AHBRAM项目理解
    1.采样协议的理解  灰色的部分可以当做延迟或者亚稳态理解协议中的波形图中有的长有的短,这个暂态可能是由于组合电路的延迟,也有可能是时序电路的延迟。发送激励之前要满足协议,所以要实现AHB协议,lvc_ahb_types和lvc_ahb_transaction在master_driver中实现AHB协议 AHB协......
  • 通过案列理解变量类型的应用场景
    packagecom.StaticDemo;publicclassTest1{publicstaticvoidmain(String[]args){//通过案列理解变量类型的应用场景Useru1=newUser();Useru2=newUser();Useru3=newUser();Useru4=newUser();S......
  • 深入理解浏览器的缓存机制
    一、前言缓存可以说是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。对于一个数据请求来说,可以分为发起网络请求、后端处理、浏览器响应三个步骤。浏览器缓存可以帮助我们在......
  • 并发编程深入理解JMM&并发三大特性
    1并发编程三大特性可见性原子性有序性2JMM概念 java虚拟机规范中定义了java内存模型,用于屏蔽掉各种硬件和操作系统的内存访问差异,以实现java程序在各种平台下都能达到一致的并发效果。 jmm规范规定了java虚拟机与计算机内存是如何协同工作的:规定了一个线程如何及何......