这个要从盘古开天辟地说起.....
哦,从JAVA对象化世界说起就行了
JAVA是个面向对象的语言,一个JAVA应用,基本上除了main函数是过程式的感觉外,其他所有动作都分摊给各种不同的实例化对象完成;
面向对象,本身是一个模仿现实世界的过程,现实世界也是一个个对象在完成各种工作;
比如,一个公司的工作也是分给一个个人去解决;
公司小的时候一个老板带几个员工,啥都一起干;
后来功夫不负有心人,公司大了,那么问题来了,这么多人咋管理,公司还有很多事情自己解决不了,部门也有很多事情也解决不了;
而Spring就是为这种大公司(大应用)服务的;
Spring IOC充当了人力资源中心的角色,业务需要的对象,我会全部给你准备好,并且注入进来,你使用到的时候人就已经在了;
Spring AOP就更上一层楼了,直接无需你关心对象,甚至你都无感,你只要告诉我在哪个切入点,我会为你服务,这就是面向切面编程;
至于实现,网上资料较多,就不写了,推荐两篇个人觉得写的比较好的:
Spring IOC源码分析推荐一篇文章:Spring IOC源码分析
Spring AOP源码分析推荐一篇文章:Spring AOP
网友评论