Spring -> IOCxml配置注入内部bean类对象

1.类`

package test10month.test1011;

/**
 * 功能描述:
 * @version 1.0
 * @className Boss
 * @author: 罗德
 * @create: 2020-10-11 20:44
 */
public class Boss {
  private String bossName;

  public void setBossName(String bossName) {
    this.bossName = bossName;
  }
}

package test10month.test1011;

/**
 * 功能描述:
 * @version 1.0
 * @className Staff
 * @author: 罗德
 * @create: 2020-10-11 20:45
 */
public class Staff {
  private String staff1;
  private String staff2;
  private Boss boss;

  public void setStaff1(String staff1) {
    this.staff1 = staff1;
  }

  @Override
  public String toString() {
    return "Staff{" + "staff1='" + staff1 + '\'' + ", staff2='" + staff2 + '\'' + ", boss=" + boss + '}';
  }

  public void setStaff2(String staff2) {
    this.staff2 = staff2;
  }

  public void setBoss(Boss boss) {
    this.boss = boss;
  }
}

2.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="staff" class="test10month.test1011.Staff">
        <property name="staff1" value="员工1"/>
        <property name="staff2" value="员工2"/>
        <property name="boss">
            <!--内部bean,对象赋给上面的boss-->
            <bean id="boss" class="test10month.test1011.Boss">
                <property name="bossName" value="老板"/>
            </bean>
        </property>
    </bean>
</beans>

3.测试类

package test;

import org.junit.jupiter.api.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import test10month.test1011.Staff;

/**
 * 功能描述:测试类
 * @version 1.0
 * @className Test
 * @author: 罗德
 * @create: 2020-10-11 15:11
 */
public class ClassTest {
  @Test
  public void test() {
    var context = new ClassPathXmlApplicationContext("Boss-Staffconfig.xml");
    var contextBean = context.getBean("staff", Staff.class);
    System.out.println(contextBean);
    /**
     * Staff{staff1='员工1', staff2='员工2', boss=test10month.test1011.Boss@4d14b6c2}
     */
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值