您的位置:首页 > 编程语言 > Java开发

Spring中Bean的简单属性注入

2017-07-21 12:39 295 查看
传统方式:

类属性注入有3种:

1.通过接口方式注入

public interface in{
public void setName(String name);
}

public class User implements in{
private String name;
public void setName(String name){
this.name = name;
}
}2.构造器注入
public class User{
private String name;
public User(){

}
public User(String name){
this.name = name;
}
}

3.setter方法注入
public class User{
private String name;
public void setName(String name){
this.name = name ;
}
}
*Spring中支持构造器注入和setter方法注入

1.Spring构造器注入

package cn.nedu.wy.demo05;

public class Car {
private String name;
private Double price;

public Car() {
super();
}

public Car(String name,Double price){
super();
this.name = name;
this.price = price;
}

@Override
public String toString() {
return "Car [name=" + name + ", price=" + price + "]";
}

}配置文件:
<!-- 构造方法的注入 -->
<bean id="car" class="cn.nedu.wy.demo05.Car">
<constructor-arg name="name" value="宝马"></constructor-arg>
<constructor-arg name="price" value="9999999"></constructor-arg>
</bean>
构造方法注入的测试:
@Test
//测试构造方法注入
public void demo01(){
ApplicationContext applicationContext = new
ClassPathXmlApplicationContext
("applicationContext.xml");
Car c1 = (Car) applicationContext.getBean("car");
System.out.println(c1);
}

2.Spring中setter方法注入
package cn.nedu.wy.demo05;

public class Car2 {
private String name;
private Double price;

public void setName(String name) {
this.name = name;
}
public void setPrice(Double price) {
this.price = price;
}
@Override
public String toString() {
return "Car2 [name=" + name + ", price=" + price + "]";
}

}配置文件:
<bean id="car2" class="cn.nedu.wy.demo05.Car2">
<property name="name" value="保时捷" />
<property name="price" value="2000000" />
</bean>setter方法注入的测试:
@Test
//测试setter方法注入
public void demo02(){
ApplicationContext applicationContext = new
ClassPathXmlApplicationContext
("applicationContext.xml");
Car2 c2 = (Car2) applicationContext.getBean("car2");
System.out.println(c2);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: