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();}
时间: 2024-10-18 07:47:50

Spring-案例的相关文章

Spring案例--打印机

目录: 1.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=&q

Spring框架第一天

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption

金三银四跳槽季,你应该如何逆袭冲进BATJ?

想起刚刚入门的时候,工作和学习上是完全找不到方向的,再然后渡过了一段时间的新手期之后,工作的方向虽然逐渐变得清晰起来,但是没过多久,能了解到的资料就开始超过每天学习的能力,像是买了没看的书.收藏没读的贴.mark了之后再也没有关注过的文章越积越多,更别提每天面对各种技术分享或者微博里的新鲜玩意了. 我曾经就很喜欢看一些博客或者是一些"看起来"比较通俗易懂的文章,每天在微博微信里刷到什么技术文章就mark下来,基本上几分钟就能读完.可一段时间下来,虽然读了不少东西,但是还是有种在原地打转

spring+springmvc+hibernate架构、maven分模块开发例子小项目案例

maven分模块开发例子小项目案例 spring+springmvc+hibernate架构 以用户管理做测试,分dao,sevices,web层,分模块开发测试!因时间关系,只测查询成功,其他的准备在ext上做个完整的案例来的,可惜最近时间很紧, 高级部分也没做测试,比如建私服,其他常用插件测试之类的,等用时间了我做个完整ext前端和maven 完整的例子出来,在分享吧! 不过目前这些撑握了,在项目中做开发是没有问题的,其他高级部分是架构师所做的. 之前我有的资源都加上了积分,有些博友向我要,

Spring中的自动装配案例分析

Spring_Autowiring collaborators 在Spring3.2.2中自动装配类型,分别为:no(default)(不采用自动装配).byName,byType,constructor下面来分别介绍一下这些是如何自动装配的 <bean id="foo" class="...Foo" autowire="autowire type"> Mode Explanation no (Default) No autowiri

spring 入门案例

spring开发步骤: spring jar包介绍: 在3.0以下的版本,源码有spring中相关的所有包(包括spring核心包和依赖包) 在3.0以上版本,源码中只有spring的核心包 没有依赖包 依赖包需要自己下载 1)源码,jar包:spring-framwork-3.2.5.RELEASE commons-logging-1.1.3.jar           日志 spring-beans-3.2.5.RELEASE.jar       bean节点 spring-context-

161920、使用Spring AOP实现MySQL数据库读写分离案例分析

一.前言 分布式环境下数据库的读写分离策略是解决数据库读写性能瓶颈的一个关键解决方案,更是最大限度了提高了应用中读取 (Read)数据的速度和并发量. 在进行数据库读写分离的时候,我们首先要进行数据库的主从配置,最简单的是一台Master和一台Slave(大型网站系统的话,当然会很复杂,这里只是分析了最简单的情况).通过主从配置主从数据库保持了相同的数据,我们在进行读操作的时候访问从数据库Slave,在进行写操作的时候访问主数据库Master.这样的话就减轻了一台服务器的压力. 在进行读写分离案

Spring+SpringMVC +MyBatis整合配置文件案例66666

Spring+SpringMVC +MyBatis整合配置文件案例 标签: springspringmvcmybatismvcjava 2017-04-13 19:12 228人阅读 评论(1) 收藏 举报 分类: java_javaSE(2) 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] Spring+SpringMVC +MyBatis整合配置文件案例 针对spring/SpringMVC/MyBatis三个框架的整合有很多的方式,经过最近的学习我来总结一下其配置文

使用Spring AOP实现MySQL数据库读写分离案例分析

一.前言 分布式环境下数据库的读写分离策略是解决数据库读写性能瓶颈的一个关键解决方案,更是最大限度了提高了应用中读取 (Read)数据的速度和并发量. 在进行数据库读写分离的时候,我们首先要进行数据库的主从配置,最简单的是一台Master和一台Slave(大型网站系统的话,当然会很复杂,这里只是分析了最简单的情况).通过主从配置主从数据库保持了相同的数据,我们在进行读操作的时候访问从数据库Slave,在进行写操作的时候访问主数据库Master.这样的话就减轻了一台服务器的压力. 在进行读写分离案

Spring容器关于继承的应用案例

一:案例演示 1.1.spring的配置文件applicationContext-extends.xml 1.2.业务类:CommonDao.java,PersonDao.java ---------------------------------------------------------------------------------------------------------------------------- 1.3.客户端代码 二:总结 1.如果一个类在spring配置文件中