spring 用xml装配bean,两个xml配置文件间的互调

Posted yyy116008

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring 用xml装配bean,两个xml配置文件间的互调相关的知识,希望对你有一定的参考价值。

首先建两个测试类

package soundsystem;

public class Dog {
    private String Cry;
    private Cat Cat;

    public void setCry(String cry) {
        Cry = cry;
    }

    public void setCat(soundsystem.Cat cat) {
        Cat = cat;
    }


    public void DogCry(){
        System.out.println("狗叫:"+Cry);
        Cat.CatCry();
    }
}
package soundsystem;

public class Cat {
    private String Cry;

    public Cat(String cry){
        this.Cry=cry;
    }

    public void CatCry(){
        System.out.println("猫叫:"+Cry);
    }
}

 

 

然后针对两类建两个xml配置文件

Bean_DogXML.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">

    <import resource="Bean_CatXML.xml"></import>

    <bean id="Dog" class="soundsystem.Dog">
        <property name="Cry" value="汪汪汪~"></property>
        <property name="cat" ref="Cat"></property>
    </bean>

</beans>

 

Bean_CatXML.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">

    <bean id="Cat" class="soundsystem.Cat">
        <constructor-arg value="喵喵~"></constructor-arg>
    </bean>
</beans>

 

 

现在开始测试:

package Test;

import org.junit.runner.RunWith;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import soundsystem.Cat;
import soundsystem.Dog;

@RunWith(SpringJUnit4ClassRunner.class)
public class Test {

    @org.junit.Test
    public static void main(String[] args) {
        ApplicationContext ap=new ClassPathXmlApplicationContext("config/Bean_DogXML.xml");
        Dog dog=(Dog)ap.getBean("Dog");
        dog.DogCry();
    }
}

 

输出结果是:

技术图片

 

以上是关于spring 用xml装配bean,两个xml配置文件间的互调的主要内容,如果未能解决你的问题,请参考以下文章

Spring5 XML装配Bean

装配Spring Bean

spring装配bean有几种方式?

Spring学习bean装配详解之 XML方式配置

Spring_总结_03_装配Bean之XML配置

Spring实战之通过XML装配bean