1.导包

  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 类中

  1. public class ColorInk implements Ink {
  2.  
  3. public String getColor() {
  4. return "红";
  5. }
  6. }

2.1.2 GrayInk 类中

  1. public class GrayInk implements Ink {
  2.  
  3. public String getColor() {
  4. return "白";
  5. }
  6. }

2.1.3 Ink 接口中

  1. public interface Ink {
  2. //获取颜色的方法
  3. public String getColor();
  4. }

2.2 纸张

2.2.1 A4Paper 类中

  1. public class A4Paper implements Paper {
  2. public String getPaper() {
  3. return "A4纸";
  4. }
  5. }

2.2.2 B5Paper 类中

  1. public class B5Paper implements Paper {
  2. public String getPaper() {
  3. return "B5纸";
  4. }
  5. }

2.2.3 Paper接口中

  1. public interface Paper {
  2. public String getPaper();
  3. }

2.3 Printer

  1. public class Printer {
  2.  
  3. private Ink ink;
  4.  
  5. private Paper paper;
  6.  
  7. public void print(){
  8. System.out.println("用 "+ink.getColor()+" 颜色的墨盒在 "+paper.getPaper()+" 上打印出来 老原你敢下课吗???");
  9. }
  10. public Ink getInk() {
  11. return ink;
  12. }
  13.  
  14. public void setInk(Ink ink) {
  15. this.ink = ink;
  16. }
  17.  
  18. public Paper getPaper() {
  19. return paper;
  20. }
  21.  
  22. public void setPaper(Paper paper) {
  23. this.paper = paper;
  24. }
  25. }

3.applicationContext.xml文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3.  
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5.  
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans
  7. http://www.springframework.org/schema/beans/spring-beans.xsd
  8.  
  9. <!--IOC-->
  10. <bean id="HappyService" class="cn.bdqn.service.HappyService">
  11. <!--DI依赖注入-->
  12. <property name="info" value="Spring"></property>
  13. </bean>
  14.  
  15. <!--打印机-->
  16. <bean id="colorInk" class="cn.bdqn.printer.ink.ColorInk"></bean>
  17. <bean id="grayInk" class="cn.bdqn.printer.ink.GrayInk"></bean>
  18.  
  19. <bean id="b5Paper" class="cn.bdqn.printer.paper.B5Paper"></bean>
  20. <bean id="a4Paper" class="cn.bdqn.printer.paper.A4Paper"></bean>
  21.  
  22. <bean id="pinter" class="cn.bdqn.printer.print.Printer">
  23. <property name="ink" ref="colorInk"></property>
  24. <property name="paper" ref="a4Paper"></property>
  25. </bean>
  26. </beans>

4.测试

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

Spring-打印机案例的更多相关文章

  1. spring原理案例-基本项目搭建 01 spring framework 下载 官网下载spring jar包

    下载spring http://spring.io/ 最重要是在特征下面的这段话,需要注意: All avaible features and modules are described in the ...

  2. spring原理案例-基本项目搭建 02 spring jar包详解 spring jar包的用途

    Spring4 Jar包详解 SpringJava Spring AOP: Spring的面向切面编程,提供AOP(面向切面编程)的实现 Spring Aspects: Spring提供的对Aspec ...

  3. spring原理案例-基本项目搭建 03 创建工程运行测试 spring ioc原理实例示例

    下面开始项目的搭建 使用 Java EE - Eclipse 新建一 Dynamic Web Project Target Runtime 选 Apache Tomcat 7.0(不要选 Apache ...

  4. spring入门--spring入门案例

    spring是一个框架,这个框架可以干很多很多的事情.感觉特别吊.但是,对于初学者来说,很难理解spring到底是干什么的.我刚开始的时候也不懂,后来就跟着敲,在后来虽然懂了,但是依然说不明白它到底是 ...

  5. Spring入门案例 idea创建Spring项目

    spring入门案例 idea创建spring项目 Spring介绍 Spring概述 Spring是一个开源框架,Spring是2003年兴起的轻量级java开发框架,由Rod Johnson 在其 ...

  6. Spring(二)--Spring入门案例

    Spring入门案例 1.需要的实体类 2.需要的接口和实现类 3.需要的service和实现类 /** * service层的作用 * 在不改变dao层代码的前提下,增加业务逻辑操作 */ publ ...

  7. Spring升级案例之IOC介绍和依赖注入

    Spring升级案例之IOC介绍和依赖注入 一.IOC的概念和作用 1.什么是IOC 控制反转(Inversion of Control, IoC)是一种设计思想,在Java中就是将设计好的对象交给容 ...

  8. Spring进阶案例之注解和IoC案例

    Spring进阶案例之注解和IoC案例 一.常见的注解分类及其作用 从此前的基于xml的IoC开发案例和依赖注入案例中,我们可以将xml配置归纳为: <bean id="" ...

  9. Spring Security 案例实现和执行流程剖析

    Spring Security Spring Security 是 Spring 社区的一个顶级项目,也是 Spring Boot 官方推荐使用的安全框架.除了常规的认证(Authentication ...

  10. Spring入门案例

    一.Spring基本介绍 1.什么是Spring Spring 是分层的 Java SE/EE 应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control: 反转控制 ...

随机推荐

  1. js日期的初始化的格式

    js在初始化日期对象时,如果有传入日期.则格式有兼容性问题: //下面的写法在谷歌下没有问题,在火狐和ie下有问题var time = new Date('2014-11-27 00:00:00'); ...

  2. Python: PS 图像调整--饱和度调整

    本文用 Python 实现 PS 图像调整中的饱和度调整算法,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/detail ...

  3. 使用boost库生成 随机数 随机字符串

    #include <iostream> #include <boost/random/random_device.hpp> #include "boost/rando ...

  4. Java笔记(五)

    泛型:JDK1.5版本后出现的新特性.用于解决安全问题,是一个类型安全机制. 好处:将运行期间出现问题ClassCastException,转移到了编译时期.方便程序员解决问题,让运行时问题减少. 避 ...

  5. 「LuoguP1341」 无序字母对(欧拉回路

    题目描述 给定n个各不相同的无序字母对(区分大小写,无序即字母对中的两个字母可以位置颠倒).请构造一个有n+1个字母的字符串使得每个字母对都在这个字符串中出现. 输入输出格式 输入格式: 第一行输入一 ...

  6. Ubuntu+win7 双系统修改开机启动项顺序

    Ubuntu和windows双系统安装完后默认Ubuntu系统是第一启动项,等待时间是10秒 如果你想改成windows为第一启动项 先进去Ubuntu系统 打开终端 (Ctrl+Alt+T) 修改启 ...

  7. 注销ie中的ActiveX插件

    最新在C#下开发ActiveX控件,遇到一个问题,就是在调试的时候,ActiveX就已经注册在了调试目录下,这样即使安装这个插件,也无法注册到ActiveX的安装目录下.为了解决这个问题,需要注销下调 ...

  8. nohup、&、tail 在服务启动中的用法

    在利用命令行启动各类服务的时候,控制台一般会显示相关日志信息,如果weblogic的启动,我们可能有这样需求:启动服务器后即使关闭控制服务器依然运行 ,日志不但可以在控制台显示同时也记录里后台日志文件 ...

  9. struts2-045漏洞浅析

    http://blog.csdn.net/rossrocket/article/details/67674290

  10. 3.2-3.3 Hive中常见的数据压缩

    一.数据压缩 1. 数据压缩 数据量小 *本地磁盘,IO *减少网络IO Hadoop作业通常是IO绑定的; 压缩减少了跨网络传输的数据的大小; 通过简单地启用压缩,可以提高总体作业性能; 要压缩的数 ...