1.什么是Spring IOC?
IOC 翻译成中文就是 控制反转,通俗的讲就是将创建对象和管理对象关系的工作由程序员转到Spring。
2.目的是什么?
降低类之间的耦合度。
3.假如现在有一个UserSevice类和一个UserDao类,如果要在UserSevice类中调用UserDao的一个方法,怎么做?
3.1.传统方式:
在UserSevice类中new一个UserDao对象,然后调用其方法。
3.2.工厂模式:
设计一个工厂类,在工厂类中new一个对象并返回,UserSecieve只需要调用工厂类的这个方法即可。
3.3.IOC(采用 xml + 工厂模式 + 反射)
编写一个xml文件,配置好要创建的类的信息,然后设计一个工厂类,在工厂类中解析xml文件中配置好的类名,接着运用反射机制,用类名创建一个对象,然后返回。
对比三种方式:第一种方式耦合度很高,第二种方式虽然使用了工厂模式,但是在工厂类中实际上也是new了对象,耦合度较高,第三种则是采用反射机制,耦合度最小。
第一种:如果后者类路径发生了改变,前者就需要修改代码,耦合度很高。第三种:如果修改了后者类的路径,只需要改配置文件的路径信息,即可。耦合度较低。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)