Spring的IOC和AOP

Spring的IOC和AOP

1. IoC

IoC:(Inverse of Control:控制反转);就是将原本在程序中手动创建对象的控制器,交给Spring容器来管理

IoC 在其他语⾔中也有应⽤,并⾮ Spring 特有。 IoC 容器是Spring ⽤来实现 IoC 的载体, IoC 容器实际上就是个Map(key,value),Map 中存放的是各种对象。

  • 将对象之间的相互依赖关系交给 IoC 容器来管理,并由 IoC 容器完成对象的注⼊。这样可以很⼤程度上简化应⽤的开发,把应⽤从复杂的依赖关系中解放出来。
  • IoC 容器就像是⼀个⼯⼚⼀样,当我们需要创建⼀个对象的时候,只需要配置好配置⽂件/注解即可,完全不⽤考虑对象是如何被创建出来的
  • 在实际项⽬中⼀个 Service 类可能有⼏百甚⾄上千个类作为它的底层,假如我们需要实例化这个 Service,你可能要每次都要搞清这个 Service 所有底层类的构造函数,这会造成很大的麻烦。
  • 如果利⽤ IoC 的话,你只需要配置好,然后在需要的地⽅引⽤就⾏了,这⼤⼤提高了项⽬的可维护性且降低了开发难度。

2. AOP

AOP:(Aspect-Oriented Programming:⾯向切⾯编程):能够将那些与业务无关,却被业务模块所共同调用的逻辑或者责任封装起来(如事务处理、日志管理、权限控制等)

Spring AOP是基于动态代理的。

  • 如果要代理的对象实现了某个接口,那么Spring AOP会使用JDK proxy去创建对象。
  • 如果要代理的对象没有实现接口,那么Spring AOP就会使用Cglib proxy来生成一个被代理对象的子类来作为代理。

参考:Spring IoC有什么好处呢?
Spring IOC 容器源码分析

https://www.iamshuaidi.com/1729.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值