zoukankan      html  css  js  c++  java
  • 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配置文件。

                                           

  • 相关阅读:
    5. 字符串提取
    4.字符串连接
    3. 忽略大小写的字符串比较
    2.Calendar类的使用
    1.==和equals()
    50.使用DOM4J解析XML文件
    C# json提取多层嵌套到数组
    打开SDK Manager检查Android SDK下载和更新失败的解决方法
    (微信API接口开发) 使用HttpWebRequest进行请求时发生错误:基础连接已关闭,发送时发生错误处理
    javascript里面的数组,json对象,动态添加,修改,删除示例
  • 原文地址:https://www.cnblogs.com/toomucherror/p/10541931.html
Copyright © 2011-2022 走看看