想要在Spring-Common.xml中引用 Spring-Output.xml中定义的bean 需要使用<ref bean="XXX"/>标签,如果是同一个xml文件中引用则使用<ref local="XXX"/>标签。

 package com.spring.output;public class OutputHelper {IOutputGenerator outputGenerator;public void generateOutput(){this.outputGenerator.generateOutput();}public void setOutputGenerator(IOutputGenerator outputGenerator){this.outputGenerator = outputGenerator;}
}

Spring-Output.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/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><bean id="CsvOutputGenerator" class="com.spring.output.impl.CsvOutputGenerator" /><bean id="JsonOutputGenerator" class="com.spring.output.impl.JsonOutputGenerator" /></beans>

Spring-Common.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/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsd"><bean id="OutputHelper" class="com.spring.output.OutputHelper"><property name="outputGenerator" ><ref bean="CsvOutputGenerator"/></property></bean>
</beans>

在调用的上下文方法的时候这样写:

 package com.spring.hello;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import com.spring.output.OutputHelper;
public class App {private static ApplicationContext context;public static void main(String[] args){context = new ClassPathXmlApplicationContext(new String[] {"Spring-Common.xml","Spring-Output.xml"});OutputHelper output = (OutputHelper)context.getBean("OutputHelper");output.generateOutput();}
}

CsvOutputGenerator.java

package com.spring.output.impl;import com.spring.output.IOutputGenerator;public class CsvOutputGenerator implements IOutputGenerator {public void generateOutput() {System.out.println("Creating CsvOutputGenerator  Output......");}
}

JsonOutputGenerator.java

 package com.spring.output.impl;
import com.spring.output.IOutputGenerator;
public class JsonOutputGenerator implements IOutputGenerator {public void generateOutput() {System.out.println("Creating JsonOutputGenerator output.......");}
}

IOutputGenerator.java

package com.spring.output;public interface IOutputGenerator {public void generateOutput();
}

Spring中引用不同xml中的bean相关推荐

  1. 如何在Web用户控件中引用样式表中的样式

    如何在Web用户控件中引用样式表中的样式 <%@ Control Language="C#" AutoEventWireup="true" CodeFil ...

  2. CMakeList 中引用系统环境变量中的 include 文件,以及 lib 文件

    CMakeList 中引用系统环境变量中的 include 文件,以及 lib 文件. cmake中对环境变量读写都是通过ENV前缀来访问环境变量 $ENV{ZLIB_DIR} 表示系统环境变量ZLI ...

  3. android id 重名_android 中不同的Xml中id可以重名吗?

    今天在做项目的时候,居然发现@+id 居然可以重名,而且 情况一:同一个Xml文件中的同名 在同一个Xml文件的中若同名了,则前一个有效,而后一个无效,as会报异常.如: android:id=&qu ...

  4. java中 引用传递_Java中的引用传递

    我觉得引用传递  真的很好理解,不知道为什么大家觉得这么难,你只要掌握这几点就可以了 在Java机制中他自己提供的那些数据类型(String ,Object等)要这样理解: 1)在Java中  引用 ...

  5. 在springBoot中配置web.xml中配置的servlet

    第一种 web.xml (截取的需要转换的) 当拦截到 /socke t时执行该servlet <servlet><servlet-name>websocket</ser ...

  6. 白手起家学习使用flex (5) 在Flash Builder5 中引用 fla 文件中的类( symbol )

    [url=http://sg552.iteye.com/blog/1278253]上次说到[/url],在创建第一个项目的时候,出现了import的错误.解决之后,仍然有两个类找不到: birdMC, ...

  7. 参考文献起止页码怎么写_参考文献中引用了专著中的某一句话,起止页码该如何写?...

    1. 专著著录格式 [序号]著者.书名[M].版本(第一版不写).出版地:出版者,出版年:起止页码 例:[1]孙家广,杨长青.计算机图形学[M].北京:清华大学出版社,1995:26-28 2. 期刊 ...

  8. Tomcat中的contex.xml中添加' Loader delegate=true '的作用及意义

    原文地址:https://blog.csdn.net/ikaraide/article/details/20308031 简而言之,JVM的classloader加载继承关系分为BootstarpCl ...

  9. mysql 遍历XML_mybatis 中,mapper.xml中遍历list集合知识点

    select uid from user where uid in #{item.uid,jdbcType=VARCHAR} ORDER BY CREATE_DATE DESC ----------- ...

  10. Ant build.xml中的各种变量

    http://blog.csdn.net/hittata/article/details/4744653 Ant环境变量分为四种: 1.      build.properties文件中定义的变量 2 ...

最新文章

  1. 算法----单链表反转
  2. ORA-14452的出现原因解析及解决方法
  3. python五子棋单机版源代码_python实现单机五子棋
  4. logistic回归 简介_金融专业进!逻辑回归模型简述
  5. Ubuntu16.04-LTS升级到18.04
  6. 再有人问你MySql的隔离级别,直接把这篇文章发给他!
  7. Java虚拟机------垃圾收集器
  8. Scala中I/O类使用详细解析
  9. php基础语法学习汇总
  10. js,如何把省份简称转换成省份全称
  11. Oracle-数据库的备份与恢复
  12. 产品的10大设计原则
  13. Pycharm debug时变量无法立即显示,正在评估(evaluating )...
  14. 有的小伙伴问我英语不好可以学编程吗?
  15. 简单的总结一下iOS面试中会遇到的问题
  16. sudo: /etc/sudoers.d 可被任何人写
  17. 2021-03-15我的博客
  18. 123457123456#2#----com.MC.ShiZi365--前拼后广--儿童识字Game-mc22222222222222222
  19. 基于扩展卡尔曼滤波的自适应智能无人车辆行驶matlab仿真,输出三维动态行驶动画
  20. 百度无人驾驶课程——Apollo定位-笔记

热门文章

  1. ipv4反向路由配置
  2. 统计计算机考试题,销售统计表计算机windows一级最新考试试题
  3. matlab xls转csv,使用python或Matlab将csv文件中的数据转换为csv文件
  4. Audio播放流程(四)---MediaPlayerService流程之AudioTrack的创建
  5. SQlite数据库的C编程接口(七) 数据库锁定(Database Locking) ——《Using SQlite》读书笔记
  6. rabbitmq使用_RabbitMQ 简介以及使用场景
  7. spark操作读取hbase实例
  8. eclipse mac常用快捷键
  9. 【数据结构】可以逃课其它字符串算法的字符串哈希算法
  10. mysql 23000_mysql – SQLSTATE [23000]:完整性约束违规:1452无法添加或更新子行:外键约束失败...