zoukankan      html  css  js  c++  java
  • Spring IOC的概念(一)

    Spring IOC是什么?

    IOC-控制反转,不是一种技术,而是一种设计思想。

    为什么使用Spring IOC?

    让专业的人去做专业的事情,只要保留接口给别人调用就行了,而当你调用别人的接口时,你不需要知道内部逻辑,你只要了解别人的接口有哪些功能就行了。

    使用Spring IOC的步骤

    1.做一杯果汁

    public class Source {
        private String fruit;//类型
        private String sugar;//糖分描述
        private String size;//大小杯
        
        //getter setter
        
    }

    2.果汁送到店里去

    public class JuiceMaker {
        private String beverageShop=null;
        private Source source=null;
        //getter setter
    
        public String makeJuice() {
            String juice="这是一杯由"+beverageShop+"饮品店,提供的"+source.getSize()+source.getSugar()+source.getFruit();
            return juice;
        }
    }

    3.我要在贡茶店里买一杯大杯少糖橙汁

    对方现在配置:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
        <bean id="source" class="test3.Source">
            <property name="fruit" value="橙汁"/>
            <property name="sugar" value="少糖"/>
            <property name="size" value="大杯"/>
        </bean>
        <bean id="juiceMaker" class="test3.JuiceMaker">
            <property name="beverageShop" value="贡茶"/>
            <property name="source" ref="source"/>
        </bean>
    </beans>

    我得到了:

    public class Test {
        //对于我来说我只是想要一杯果汁,我直接找贡茶饮品店去买,而贡茶饮品店是怎么制作的我不关心
        //对于饮品店来说,它提供店面,找别人外包商提供果汁就行了,外包商专业做果汁的,他就能很专业的做好果汁
        public static void main(String[] args) {
            //配置文件跟包是并列的
            ClassPathXmlApplicationContext ctx=new ClassPathXmlApplicationContext("spring-cfg.xml");
            JuiceMaker juiceMaker =(JuiceMaker)ctx.getBean("juiceMaker");
            System.out.println(juiceMaker.makeJuice());
        }
    }
  • 相关阅读:
    python's twenty eithth day for me 模块和包
    python's twenty-seventh day for me 模
    python's twenty-sixth day for me 模块
    python's twenty-fifth day for me 模块
    python's twenty_fourth day for me 内置方法
    python's twenty-third day for me 面向对象进阶
    python's twenty-second day for me 封装,property方法
    python's twenty-first day for me 抽象类和接口类以及多态
    字典
    元组(tuple)基本操作
  • 原文地址:https://www.cnblogs.com/xc-xinxue/p/12379978.html
Copyright © 2011-2022 走看看