spring bean中引用bean

1.Person类

package com.hxzy.model;


public class Person {


private int age;
private String name;

private Car car;


//此处若没有无参构造方法,bean配置文件中会报错“No constructor with 0 arguments defined in class 'com.hxzy.model.Person'”
public Person() {
super();
}


public Person(int age, String name, Car car) {
super();
this.age = age;
this.name = name;
this.car = car;
}


public void setCar(Car car) {
this.car = car;
}

public void setName(String name) {
this.name = name;
}

public void setAge(int age) {
this.age = age;
}

@Override
public String toString() {
// TODO Auto-generated method stub
return "age : " + age + " name " + name + " car : " + car;
}

}


2.Car类

package com.hxzy.model;


public class Car {


private String brand;
private String address;
private int speed;

public void setBrand(String brand) {
this.brand = brand;
}

public void setAddress(String address) {
this.address = address;
}

public void setSpeed(int speed) {
this.speed = speed;
}

public Car(String brand, String address, int speed) {
super();
this.brand = brand;
this.address = address;
this.speed = speed;
}

@Override
public String toString() {

return "brand : " + brand + " address : " + address + "  speed : " + speed;
}


}


3.bean配置类

  <bean id="car" class="com.hxzy.model.Car">
        <constructor-arg type="java.lang.String">
            <value>宝马</value>
        </constructor-arg>
        <constructor-arg type="java.lang.String">
            <value>天津</value>
        </constructor-arg>
        <constructor-arg type="int">
            <value>200</value>
        </constructor-arg>
    </bean>
    
    <!-- 如果不在Person类中写一个无参构造方法,此处会报错No constructor with 0 arguments defined in class 'com.hxzy.model.Person' -->
    <bean id="person"  class="com.hxzy.model.Person">
      
        <property name="age" value="40"></property>
        <property name="name" value="gaogao"></property>
        <!-- 在一个bean中引用另一个bean -->
        <property name="car" ref="car"></property>
    </bean>

<!-- 此处的car属性可以赋值为null,如下所示-->  

<bean id="people2" class="com.hxzy.People">
<constructor-arg value="西门庆"></constructor-arg>
 
<constructor-arg value="39"></constructor-arg>
<!--
<constructor-arg ref="car1"> </constructor-arg>
-->
<constructor-arg > <null/></constructor-arg>

</bean>

4.测试类

Person man = (Person) ctx.getBean("person");
System.out.println(man);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值