Spring中IOC的基本原理

IOC也叫做控制反转

在一开始学习java的时候创建两个类,(非静态)A和(非静态)B,如果在类A中需要用到B中的东西,就必须要在A中一开始写B b = new B();

这样的话,如果类B中A所需要的东西发生改变,就需要重新写A中的相关方法。如果一两个还好,如果变化了上万条的话就太麻烦了;

后来又有了工厂模式,就是建立一个中间类让改变的方法调用写在里面,就拿servlet和service来说,servlet中调用service中的业务逻辑应该就是

工厂模式一类的,这时候servlet和用户是隔离了,但是servlet和service之间的关系又太密切了。

因为编程就要遵循高内聚,低耦合的原理,耦合度太高的话就相互之间的关系太紧密,变化一个,其他都要手动跟着变化,太过于麻烦,而且容易出错。

IOC就应该是解决这个问题的一个方法了

IOC的基本原理是让原本是程序员去创建的对象,交由配置好的文件去创建。

IOC的基本原理(xml配置方法)应该分为几个部分:1、创建xml配置文件,<bean id = "id名字" class= "需要创建对象的类路径"/>

                        2、由spring(内部创建工厂类+使用dom4j解析配置+反射)

例子://返回UserService对象的方法

    public static UserService getService(){

          //1、使用dom4j解析xml配置文件

          //根据id值获取id值对应的class属性值

            String classValue = "class属性值";

          //2、使用反射创建类对象

            Class clazz = Class.forName(classValue);

            //3、创建类对象

            UserService service = clazz.newIntance();

            return service;

}

当然上面的过程都是spring内部进行的,你要做的就是配置好xml配置文件。

                                       

猜你喜欢

转载自www.cnblogs.com/toomucherror/p/10541931.html