AOP:面向切面编程
Spring AOP 是代理模式的应用,可以使用JDK提供的Proxy类或通过字节码增强来实现。想要知道Spring如何实现AOP就必须要先了解代理模式。
AOP最大的用处就是减少重复性代码。
有多个对象需要同一个方法,这个方法就可以单独出来,需要的时候进行切入。
从Spring的角度看,AOP最大的用途就在于提供了事务管理、日志管理的能力。事务管理就是一个关注点,你的正事就是去访问数据库,而你不想管事务(太烦),所以,Spring在你访问数据库之前,自动帮你开启事务,当你访问数据库结束之后,自动帮你提交/回滚事务!
IOC(Inverse of Control):控制反转
Spring IOC 是工厂模式的应用
控制反转,就是把对象的控制权不在由自己决定,而是交由专业的工具去管理。
就是A要调用B的话,A并不需要主动获取B,而是由其它人自动将B送上门来。
在spring中ioc也是一个容器,专门用来管理对象,如果有哪个对象需要,有ioc容器来进行实例化,你直接使用就行了,充分体现了面向对象的思想,你不需要知道,它怎么生成的,你直接使用就OK了。
自己的理解,请多多指教。