首页 > 其他 > 详细

框架原理

时间:2017-02-19 19:52:56      阅读:191      评论:0      收藏:0      [点我收藏+]

Spring框架IOC与AOP

IOC:Java程序员都知道:java程序中的每个业务逻辑至少需要两个或以上的对象来协作完成,通常,每个对象在使用他的合作对象时,自己均要使用像new object() 这样的语法来完成合作对象的申请工作。你会发现:对象间的耦合度高了。而IOC的思想是:Spring容器来实现这些相互依赖对象的创建、协调工作。对象只需要关系业务逻辑本身就可以了。从这方面来说,对象如何得到他的协作对象的责任被反转了(IOC、DI)。IoC的一个重点是在系统运行中,动态的向某个对象提供它所需要的其他对象。这一点是通过DI(Dependency Injection,依赖注入)来实现的, Java 1.3之后一个重要特征是反射(reflection),它允许程序在运行的时候动态的生成对象、执行对象的方法、改变对象的属性,spring就是通过反射来实现注入的.

AOP:其实依赖注入的思想也很简单,它是通过反射机制实现的,在实例化一个类时,它通过反射调用类中set方法将事先保存在HashMap中的类属性注入到类中.

AOP就是增加了一种解耦的角度。

解耦,这是 OOP 经常提到的词。为了让各个模块更加独立,有人通过面向对象设计出一堆模式剥离代码降低耦合。
有些人在剥离代码的时候发现很多“方面”的代码有模式可循,但只用面向对象的思想无法优雅的解决。

AOP就是为了解决类似问题,把这些代码与核心逻辑代码剥离,其实现方式就是在现有的类或方法的基础上通过“注解”(Java)、"特性"(C#)、“装饰器”(Python)把核心逻辑代码用各个“方面”的代码包裹起来。(我的理解AOP就是语言层级实现的装饰器模式)

Spring是如何工作的

一个Bean包括id,type,和Properties。 
接下来Spring 就开始加载我们的配置文件了,将我们配置的信息保存在一个HashMap中,HashMap的key就是Bean 的 Id ,HasMap 的value是这个Bean,只有这样我们才能通过context.getBean("animal")这个方法获得Animal这个类。我们都知道Spirng可以注入基本类型,而且可以注入像List,Map这样的类型,接下来就让我们以Map为例看看Spring是怎么保存的吧 

 

框架原理

原文:http://www.cnblogs.com/Jonecmnn/p/6416545.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!