/*
*作者:呆萌老师
*☑csdn认证讲师
*☑51cto高级讲师
*☑腾讯课堂认证讲师
*☑网易云课堂认证讲师
*☑华为开发者学堂认证讲师
*☑爱奇艺千人名师计划成员
*在这里给大家分享技术、知识和生活
*各种干货,记得关注哦!
*vx:it_daimeng
*/
1.通过属性标签property注入
property标签
属性: name:属性名 value:属性值 ref:依赖的对象id
测试代码:
public class Drink {
private String name;
private String sugar;
private float price;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSugar() {
return sugar;
}
public void setSugar(String sugar) {
this.sugar = sugar;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
public Drink() {
System.out.println("创建一杯饮料");
}
}
<bean id="drink_01" class="com.test.pojo.Drink" >
<property name="name" value="西瓜汁" />
<property name="price" value="18" />
<property name="sugar" value="半糖" />
</bean>
2.通过构造函数注入
constructor-arg 标签
属性: name:构造函数的参数名
value:传进去的值
ref:参数依赖的对象
index:参数类型和参数个数都相同,但顺序不同的时候,可以用index来设置顺序 从0开始
type: 参数个数相同,参数名也相同,但类型不同 ,可以用type来设置类型
测试代码:
Drink类中添加构造函数:
package com.test.pojo;
public class Drink {
private String name;
private String sugar;
private float price;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSugar() {
return sugar;
}
public void setSugar(String sugar) {
this.sugar = sugar;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
public Drink() {
System.out.println("创建一杯饮料");
}
public Drink(String name) {
this.name = name;
}
public Drink(String name, String sugar) {
this.name = name;
this.sugar = sugar;
}
public Drink(String name, float sugar) {
this.name = name;
this.price = sugar;
}
public Drink(float sugar,String name) {
this.name = name;
this.price = sugar;
}
@Override
public String toString() {
return "Drink{" +
"name='" + name + '\'' +
", sugar='" + sugar + '\'' +
", price=" + price +
'}';
}
}
配置文件中调用不同构造函数测试:
<!--
构造函数的参数个数相同 参数类型也相同 但顺序不同 需要用index来指定参数的顺序
index 指的是参数的顺序
-->
<!-- 如果构造函数的参数个数相同 参数类型不同 则需要指定参数类型
基本类型 直接用基本类型
-->
<bean id="drink_02" class="com.test.pojo.Drink" >
<constructor-arg name="name" value="奶茶" />
</bean>
<bean id="drink_03" class="com.test.pojo.Drink" >
<constructor-arg name="name" value="珍珠奶茶" index="0" />
<constructor-arg name="sugar" value="13" type="float" index="1" />
</bean>
3.p空间注入
1)引入p空间
xmlns:p=“http://www.springframework.org/schema/p”
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p" //加在xmlns属性中
xsi:schemaLocation="http://www.springframework.org/schema/beans
2)使用
p:属性名=属性值
<bean id="drink_01" class="com.test.pojo.Drink" p:name="珍珠奶茶"
p:price="28" p:sugar="半糖" />
1847

被折叠的 条评论
为什么被折叠?



