Spring的数据注入方式(普通注入,p空间注入)------属性注入,对象注入

一.新建两个对象类,生成set,get方法和构造方法

其中Customer类中含有car属性

Customer类

package com.cws.spring.demo2;

public class Custom {
   private String name;
   private  Car car;
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
public Car getCar() {
	return car;
}
public void setCar(Car car) {
	this.car = car;
}
public Custom(String name, Car car) {
	super();
	this.name = name;
	this.car = car;
}
public Custom() {
	super();
	// TODO Auto-generated constructor stub
}
@Override
public String toString() {
	return "Custom [name=" + name + ", car=" + car + "]";
}
   
}

car类

package com.cws.spring.demo2;

public class Car {
 private String name;
 private double price;
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
public double getPrice() {
	return price;
}
public void setPrice(double price) {
	this.price = price;
}
public Car(String name, double price) {
	super();
	this.name = name;
	this.price = price;
}
public Car() {
	super();
	// TODO Auto-generated constructor stub
}
@Override
public String toString() {
	return "Car [name=" + name + ", price=" + price + "]";
}
}

二.普通注入方法

有两种方式,分别为set方法注入,和构造方法注入

    set方法注入  其中 property为属性标签,name属性名对应对象类中名称,value为赋值
<bean  id="car" class="com.cws.spring.demo2.Car">
<property name="name" value="大众"></property>
<property name="price" value="200000"></property>
</bean>

 构造方法注入 constructor-arg标签用于构造方法注入   ref引入其他类中值
<bean id="custom" class="com.cws.spring.demo2.Custom">
<constructor-arg name="name" value="张三"></constructor-arg>
<constructor-arg name="car" ref="car"></constructor-arg>
</bean> 

三,p空间注入

 xmlns:p="http://www.springframework.org/schema/p" 

<!-- p命名空间注入数据 -->
<bean id="car" class="com.cws.spring.demo2.Car"  p:name="奇瑞QQ" p:price="60000"></bean>

<bean id="custom" class="com.cws.spring.demo2.Custom" p:name="lisi" p:car-ref="car"/>

四.测试结果

@Test
public void test1(){
	@SuppressWarnings("resource")
	ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
	Car car=(Car) applicationContext.getBean("car");
	System.out.println(car);
	
	Custom custom=(Custom) applicationContext.getBean("custom");
	System.out.println(custom);
	
}

猜你喜欢

转载自blog.csdn.net/qq_38474916/article/details/81363201
今日推荐