zoukankan      html  css  js  c++  java
  • 依赖注入之接口注入

    书本上说:这种接口注入的方式需要调用者必须实现一个指定的接口,这种方式使用比较少,一般不推荐使用

    1、项目截图

    2、打印机接口类

    package com.example.demo.printer;
    
    /**
     * Created by Admin on 2018/5/8.
     */
    public interface Printer {
        void init();
    
        void print(String txt);
    }

    3、彩色打印机类

    package com.example.demo.printer;
    
    public class ColorPrinter implements Printer {
        @Override
        public void init() {
            System.out.println("启动彩色打印机!");
        }
    
        @Override
        public void print(String txt) {
            System.out.println("打印彩色文字:".concat(txt));
        }
    }

    4、黑白打印机类

    package com.example.demo.printer;
    
    public class GrayPrinter implements Printer{
    
        @Override
        public void init() {
            System.out.println("启动打印机");
        }
    
        @Override
        public void print(String txt) {
            System.out.println("打印黑白文字:".concat(txt));
        }
    }

    5、电脑类

    package com.example.demo.printer;
    
    /**
     * Created by Admin on 2018/5/8.
     */
    public class Computer implements Computeable{
    
        Printer p;
        public Printer getP() {
            return p;
        }
    
        public void setP(Printer p) {
            this.p = p;
        }
    
        @Override
        public void inject(Printer p) {
            this.p = p;
        }
    }

    6、电脑实现的接口

    package com.example.demo.printer;
    
    public interface Computeable {
        void inject (Printer p);
    }

    7、测试类

    package com.example.demo.printer;
    
    public class TestComputer {
        public static void main(String[] args) {
            Printer p = (Printer) GetBeans.getBean("printer");
            Computer pcl = new Computer();
            pcl.inject(p);
    
            //实现不用new关键字创建打印机实例
            pcl.getP().print("打印测试页...");
        }
    }

    8、配置文件

    printer = com.example.demo.printer.ColorPrinter

    9、效果:

    如果您发现博客内容有什么错误,请您下方留言
  • 相关阅读:
    关于并发量的简单计算公式
    kbmmw中向服务器端传递对象的一种简单方式
    tms web core 里面调用pascal 过程。
    tms web core 通过URL 传递参数
    tms web core 与 kbmmw 第一次亲密接触
    kbmmw 的HTTPSmartService 上传文件到服务器端
    kbmmw 中的进程管理小工具
    kbmmw 5.06.20 发布
    kbmmw ORM 对象定义语法简析
    kbmmw 5.06.00 beta 发布
  • 原文地址:https://www.cnblogs.com/zn615/p/9006977.html
Copyright © 2011-2022 走看看