Spring中引用不同xml中的bean
想要在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相关推荐
- 如何在Web用户控件中引用样式表中的样式
如何在Web用户控件中引用样式表中的样式 <%@ Control Language="C#" AutoEventWireup="true" CodeFil ...
- CMakeList 中引用系统环境变量中的 include 文件,以及 lib 文件
CMakeList 中引用系统环境变量中的 include 文件,以及 lib 文件. cmake中对环境变量读写都是通过ENV前缀来访问环境变量 $ENV{ZLIB_DIR} 表示系统环境变量ZLI ...
- android id 重名_android 中不同的Xml中id可以重名吗?
今天在做项目的时候,居然发现@+id 居然可以重名,而且 情况一:同一个Xml文件中的同名 在同一个Xml文件的中若同名了,则前一个有效,而后一个无效,as会报异常.如: android:id=&qu ...
- java中 引用传递_Java中的引用传递
我觉得引用传递 真的很好理解,不知道为什么大家觉得这么难,你只要掌握这几点就可以了 在Java机制中他自己提供的那些数据类型(String ,Object等)要这样理解: 1)在Java中 引用 ...
- 在springBoot中配置web.xml中配置的servlet
第一种 web.xml (截取的需要转换的) 当拦截到 /socke t时执行该servlet <servlet><servlet-name>websocket</ser ...
- 白手起家学习使用flex (5) 在Flash Builder5 中引用 fla 文件中的类( symbol )
[url=http://sg552.iteye.com/blog/1278253]上次说到[/url],在创建第一个项目的时候,出现了import的错误.解决之后,仍然有两个类找不到: birdMC, ...
- 参考文献起止页码怎么写_参考文献中引用了专著中的某一句话,起止页码该如何写?...
1. 专著著录格式 [序号]著者.书名[M].版本(第一版不写).出版地:出版者,出版年:起止页码 例:[1]孙家广,杨长青.计算机图形学[M].北京:清华大学出版社,1995:26-28 2. 期刊 ...
- Tomcat中的contex.xml中添加' Loader delegate=true '的作用及意义
原文地址:https://blog.csdn.net/ikaraide/article/details/20308031 简而言之,JVM的classloader加载继承关系分为BootstarpCl ...
- mysql 遍历XML_mybatis 中,mapper.xml中遍历list集合知识点
select uid from user where uid in #{item.uid,jdbcType=VARCHAR} ORDER BY CREATE_DATE DESC ----------- ...
- Ant build.xml中的各种变量
http://blog.csdn.net/hittata/article/details/4744653 Ant环境变量分为四种: 1. build.properties文件中定义的变量 2 ...
最新文章
- 算法----单链表反转
- ORA-14452的出现原因解析及解决方法
- python五子棋单机版源代码_python实现单机五子棋
- logistic回归 简介_金融专业进!逻辑回归模型简述
- Ubuntu16.04-LTS升级到18.04
- 再有人问你MySql的隔离级别,直接把这篇文章发给他!
- Java虚拟机------垃圾收集器
- Scala中I/O类使用详细解析
- php基础语法学习汇总
- js,如何把省份简称转换成省份全称
- Oracle-数据库的备份与恢复
- 产品的10大设计原则
- Pycharm debug时变量无法立即显示,正在评估(evaluating )...
- 有的小伙伴问我英语不好可以学编程吗?
- 简单的总结一下iOS面试中会遇到的问题
- sudo: /etc/sudoers.d 可被任何人写
- 2021-03-15我的博客
- 123457123456#2#----com.MC.ShiZi365--前拼后广--儿童识字Game-mc22222222222222222
- 基于扩展卡尔曼滤波的自适应智能无人车辆行驶matlab仿真,输出三维动态行驶动画
- 百度无人驾驶课程——Apollo定位-笔记
热门文章
- ipv4反向路由配置
- 统计计算机考试题,销售统计表计算机windows一级最新考试试题
- matlab xls转csv,使用python或Matlab将csv文件中的数据转换为csv文件
- Audio播放流程(四)---MediaPlayerService流程之AudioTrack的创建
- SQlite数据库的C编程接口(七) 数据库锁定(Database Locking) ——《Using SQlite》读书笔记
- rabbitmq使用_RabbitMQ 简介以及使用场景
- spark操作读取hbase实例
- eclipse mac常用快捷键
- 【数据结构】可以逃课其它字符串算法的字符串哈希算法
- mysql 23000_mysql – SQLSTATE [23000]:完整性约束违规:1452无法添加或更新子行:外键约束失败...