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风格的登录认证 附代码