Spring简单实现打印机功能-附完整代码

Posted 名字真的很急用

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring简单实现打印机功能-附完整代码相关的知识,希望对你有一定的参考价值。

在我们初次学习Spring时,肯定会遇到这个简单的操作,让我们菜鸟来感受一下Spring的魅力所在,今天上课就简单的练习了一下。

老师上课说,模拟此功能就是用来让我们这些菜鸟来体验一下Spring的扩展开放功能,方便我们对类对象的操作修改以及更新,而不需大改工程项目,这就是比new一个对象的好处。

自己描述的语言可能不是很正确,欢迎指正

第一步,来看项目的结构
在这里插入图片描述
第二步就是写我们需要的Java对象,也就是bean。以及接口
包lnk下的类:

public class Back implements Lnk {
    @Override
    public String getColor() {
        return "黑白";
    }
}

public class Color implements Lnk {
    @Override
    public String getColor() {
        return "彩色";
    }
}

public interface Lnk {
    public String getColor();
}

包page下的类:

public class A4 implements Page {
    @Override
    public String getSize() {
        return "a4";
    }
}
public class B5 implements Page {
    @Override
    public String getSize() {
        return "b5";
    }
}
public interface Page {
    public String getSize();
}

包print下的类:

import lnk.Lnk;
import page.Page;

/*
打印机
开闭原则:  开:对扩展开放  闭:对修改原代码关闭
 */
public class Print {
    private Page page;
    private Lnk lnk;
    //打印方法
    public void print(){
        System.out.println("正在使用"+this.lnk.getColor()+"颜色墨盒,在"+this.page.getSize()+"纸张上打印");
    }
    public Page getPage() {
        return page;
    }
    public void setPage(Page page) {
        this.page = page;
    }

    public Lnk getLnk() {
        return lnk;
    }

    public void setLnk(Lnk lnk) {
        this.lnk = lnk;
    }
}

最后是我们的test类:

import print.Print;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
    public void helloSpring() {
        // 通过ClassPathXmlApplicationContext实例化Spring的上下文
        ApplicationContext context = new ClassPathXmlApplicationContext(
                "applicationContext.xml");
        // 通过ApplicationContext的getBean()方法,根据id来获取bean的实例
        Print p = (Print) context.getBean("print");
        p.print();
    }
    public static void main(String[] args) {
        Test test = new Test();
        test.helloSpring();
    }
}

最后是我们的applicationcontext.xml配置文件、

<?xml version="1.0" encoding="UTF-8"?>

<!--suppress ALL -->

<beans xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans">

<!--实例化一个bean, scope="prototype" 多例 scope="singleton" 单例 -->



<!--墨盒-->


<bean class="lnk.Back" id="back"/>

<bean class="lnk.Color" id="color"/>

<!--纸张-->


<bean class="page.A4" id="a4"/>

<bean class="page.B5" id="b5"/>

<!--组装打印机-->



<bean class="print.Print" id="print">

<property ref="b5" name="page"/>

<property ref="color" name="lnk"/>

</bean>

</beans>

以上是关于Spring简单实现打印机功能-附完整代码的主要内容,如果未能解决你的问题,请参考以下文章

springboot集成spring security实现restful风格的登录认证 附代码

javascript详解实现购物车完整功能(附效果图,完整代码)

react 实现dom打印功能 附代码

react 实现dom打印功能 附代码

react 实现dom打印功能 附代码

javascript详解实现购物车完整功能(附效果图,完整代码)