Spring-打印机案例

1.导包

<!--beans-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.2.3.RELEASE</version>
</dependency>
<!--context-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.2.RELEASE</version>
</dependency>
2.创建类和接口

2.1 颜色

2.1.1ColorInk 类中

public class ColorInk implements Ink {

    public String getColor() {
        return "红";
    }
}

2.1.2 GrayInk 类中

public class GrayInk implements Ink {

    public String getColor() {
        return "白";
    }
}

2.1.3 Ink 接口中

public interface Ink {
    //获取颜色的方法
    public String getColor();
}

 

2.2 纸张

2.2.1 A4Paper 类中

public class A4Paper implements Paper {
    public String getPaper() {
        return "A4纸";
    }
}

2.2.2 B5Paper 类中

public class B5Paper implements Paper {
    public String getPaper() {
        return "B5纸";
    }
}

2.2.3 Paper接口中

public interface Paper {
     public String getPaper();
}

2.3 Printer

public class Printer {

    private Ink ink;

    private Paper paper;

    public void print(){
        System.out.println("用 "+ink.getColor()+" 颜色的墨盒在 "+paper.getPaper()+" 上打印出来 老原你敢下课吗???");
    }
    public Ink getInk() {
        return ink;
    }

    public void setInk(Ink ink) {
        this.ink = ink;
    }

    public Paper getPaper() {
        return paper;
    }

    public void setPaper(Paper paper) {
        this.paper = paper;
    }
}

3.applicationContext.xml文件

<?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.xsd
      
    <!--IOC-->
    <bean id="HappyService" class="cn.bdqn.service.HappyService">
        <!--DI依赖注入-->
        <property name="info" value="Spring"></property>
    </bean>

    <!--打印机-->
    <bean id="colorInk" class="cn.bdqn.printer.ink.ColorInk"></bean>
    <bean id="grayInk" class="cn.bdqn.printer.ink.GrayInk"></bean>

    <bean id="b5Paper" class="cn.bdqn.printer.paper.B5Paper"></bean>
    <bean id="a4Paper" class="cn.bdqn.printer.paper.A4Paper"></bean>

    <bean id="pinter" class="cn.bdqn.printer.print.Printer">
        <property name="ink" ref="colorInk"></property>
        <property name="paper" ref="a4Paper"></property>
    </bean>
</beans>

 

4.测试

@Test
//打印机
public void test02(){
ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
Printer pp= (Printer)ctx.getBean("pinter");
pp.print();
}

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/qjt970518--/p/7227559.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值