一个关于Spring,依赖注入,控制反转有什么用的问题?
Java code
Interface A=new ClassA();
a.hello();
ClassA,ClassA都实现了接口Interface
如果我不用ClassA了,用ClassB,这样我要改一句,
如果用SPRING来实现,也是改一句配置
那我想问SPRING的依赖注入有什么用?
如何体现出spring,依赖注入的优点
能不能举些例子
------解决方案--------------------如果是依赖注入。
这里就不用new 这个ClassA对象。而由spring动态注入进去。
Interface A=new ClassA();
a.hello();
改成
Interface A;
a.hello();
当需要ClassA对象时就注入ClassA对象,需要ClassB对象时就注入ClassB(当然ClassB也要实现相同的接口)。
所以这个类就不用反复的修改。这里spring体现的是解耦。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------用spring,我的理解,最大的好处就是减少了耦合,不光是修改文件需不需要编译的问题。
关于楼主说的spring终究要去创建对象。但这部分正好交由spring去管理,从而我们解脱了出来,我们写代码不用考虑这种对象的创建与管理,这部分的复杂度交给了spring。这自然就是spring带给我们的好处。
当然什么都有其优点与不足,如果实际项目中用spring没带给多少方便,自然可以不使用。
------解决方案--------------------建议看下设计模式:面向接口编程。
------解决方案--------------------
------解决方案--------------------