Spring中引用不同xml中的bean

原创 2015年07月07日 13:49:31

想要在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/beans
    http://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/beans
    http://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();
}
版权声明:本文为博主原创文章,转载请注明本博客地址!http://blog.oldriver.top/ 老司机技术手册

spring引用另一xml文件中的bean

使用SSH开发项目,为了使项目模块化,使用了多个spring配置文件 写了一个service  queueSen...
  • u012891504
  • u012891504
  • 2016年07月26日 16:54
  • 3404

实例化Bean的方法(基于xml配置)

Spring IoC容器 根据基于xml的配置元数据(configuration metadata),使用反射机制来创建Bean的实例。 创建的方法有三种: 1. 通过构造器 1.1 使用空构造器进...
  • shymi1991
  • shymi1991
  • 2015年09月01日 13:43
  • 1352

applicationContext.xml文件如何共引用另一个applicationContext.xml文件中的bean

一个applicationContext.xml文件如何共引用另一个applicationContext.xml文件中的bean 操作步骤: 一、在需要引用其它applicationConte...
  • u010180477
  • u010180477
  • 2014年06月07日 23:35
  • 4430

利用XMLBean轻轻松松读写XML

利用XMLBean轻轻松松读写XML作者:叶枫版权声明:本文可以自由转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明作者:叶枫(http://blog.matrix.org.cn/pa...
  • javachannel
  • javachannel
  • 2005年12月05日 10:31
  • 4645

【Spring】装配Bean-(1)-使用XML配置

Spring配置
  • robinjwong
  • robinjwong
  • 2014年05月11日 23:18
  • 5885

Spring在xml文件中配置bean

最近在项目中学习spring的xml配置文件,发现其中的bean是主要部分,而且似乎形式多变,有必要全面了解一下,这篇文章总结的比较全面。 ------------------------------...
  • hust_dxxxd
  • hust_dxxxd
  • 2016年06月29日 20:41
  • 3370

利用XMLBean轻轻松松读写XML

  一、关于XML解析    XML在Java应用程序里变得越来越重要, 广泛应用于数据存储和交换. 比如我们常见的配置文件,都是以XML方式存储的. XML还应用于Java Message Serv...
  • joneszzz
  • joneszzz
  • 2006年09月27日 14:52
  • 531

spring中读取xml配置文件、获取bean的几种方式

获取Spring框架管理的类实例的方法有多种,如下: 方法一:在初始化时保存ApplicationContext对象 代码: ApplicationContext ac = new FileSyste...
  • zxd861114
  • zxd861114
  • 2009年12月24日 10:32
  • 18368

利用JAXB实现xml和bean之间的转换(一)

JAXB能够使用Jackson对JAXB注解的支持实现(jackson-module-jaxb-annotations),既方便生成XML,也方便生成JSON,这样一来可以更好的标志可以转换为JSON...
  • LchinaM
  • LchinaM
  • 2016年06月29日 19:00
  • 6731

spring中bean的基本xml配置

在spring容器内拼凑bean叫作装配。装配bean的时候,你是在告诉容器,需要哪些bean,以及容器如何使用依赖注入将它们配合在一起。     理论上,bean装配可以从任何资源获得,包括属性文...
  • liyisong2008
  • liyisong2008
  • 2015年01月20日 11:35
  • 3566
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spring中引用不同xml中的bean
举报原因:
原因补充:

(最多只允许输入30个字)