【转】浅谈spring理解

来源:互联网 发布:淘宝翻译兼职 编辑:程序博客网 时间:2024/05/22 11:30

Spring中最为重要的无非就是IOC和AOP。

对IOC来讲,你讲一下IOC的定义,IOC就是说对象本身的创建不依赖应用本身,而是依赖于外部容器,如果没有IOC那么我们在我们的业务类,要调用DAO的方法,那么不得不做的一个动作就是创建一个DAO的实现类的实例,而创建这个对象本身是跟业务无关的,而这样违反了“高内聚,低耦合”,使类与类的联系非常紧密了。即使你不用new,你使用工厂模式,使用单例模式,也跟上面说的效果是一样的,而Spring本身就是一个大工厂,他帮我们造对象,帮我们管理bean对象,它帮我们注入我们所需的bean对象,这样对于以后的维护来讲,变的更为方便,也把与业务本身无关的东西提取出来了。体现了低耦合。

而AOP本身就是一种思想,意为面向切面编程,而Spring对AOP做了部分实现,(举例说明)如果没有AOP,比如我们开发的系统中有发邮件,写日志,可想而知,系统中发邮件,写日志绝对的不是在一个地方用到,那么怎么办,肯定是在业务中写着重复的代码,而且干着与业务无关的事情,也就是说让发邮件,写日志跟业务一起混合在一起,那么这样肯定是不合理的。那么该怎么办,因此Spring提供了AOP,在你想写日志的方法给你切开,加入日志的操作,刚刚说spring是大工厂,那么对于spring的AOP来讲,我更加喜欢把它比喻成化妆师,只有你让spring帮你化妆,就能达到你意想不到的效果,总的来讲spring的AOP技术,他帮我们做很多与业务无关的操作,让业务层次更加清晰。

注:原文链接已经无法找到,在这向原文作者表示歉意,望海涵。。

原创粉丝点击