Spring学习历程---自动装配

37 篇文章 0 订阅
29 篇文章 2 订阅

使用autowire属性指定自动装配的方式

byName根据bean的名字和setter的风格属性名进行自动装配,若有匹配的,则自动装配,若无匹配的,则不装配。

byType根据bean的类型和当前bean的属性的类型进行自动装配。

例:

Person.java

package com.wanhao;

import java.util.List;

public class Person {
private String name;
private int age;
private Car car;
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
public int getAge() {
	return age;
}
@Override
public String toString() {
	return "Person [name=" + name + ", age=" + age + ", car=" + car + "]";
}
public void setAge(int age) {
	this.age = age;
}
public Car getCar() {
	return car;
}
public void setCar(Car car) {
	this.car = car;
}

	
}
Car.java

package com.wanhao;

public class Car {
 private String name;
 private int maxSpeed;
 private String place;
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
public Car() {
	super();
}
public int getMaxSpeed() {
	return maxSpeed;
}
@Override
public String toString() {
	return "Car [name=" + name + ", maxSpeed=" + maxSpeed + ", place=" + place
			+ "]";
}
public Car(String name, int maxSpeed, String place) {
	super();
	this.name = name;
	this.maxSpeed = maxSpeed;
	this.place = place;
}
public void setMaxSpeed(int maxSpeed) {
	this.maxSpeed = maxSpeed;
}
public String getPlace() {
	return place;
}
public void setPlace(String place) {
	this.place = place;
}
	
}

applicationContext.xml

	<bean id="car"  class="com.wanhao.Car">
		<property name="name"  value="Ford"/>
		<property name="maxSpeed"  value="300"/>
		<property name="place" value="CA"/>
	</bean>
	<bean id="car2" class="com.wanhao.Car">
   		<constructor-arg name="maxSpeed"  value="301"></constructor-arg>
   		<constructor-arg name="name"  value="BMW"></constructor-arg>
   		<constructor-arg name="place"  value="CHINA"></constructor-arg>
	</bean>
	<bean id="person" class="com.wanhao.Person"  autowire="byName"></bean>
这里会根据Person的get方法,自动装载car这个bean,而byType会报错。




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值