注入依赖对象
个人理解是可以理解为给某个bean传值
注入依赖对象,变量
我们可以通过配置文件来获取或者注入Bean中的变量。
例如我们现在有个实体类:UesrEntity
public class UserEntity {
private String name;
private Integer age;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return
"他名字是:'" + name + '\'' +
", 年龄是:" + age +
", 性别是:'" + sex + '\''
;
}
}
我们要怎么才能在新建这个类的时候通过配置文件来传值呢?
可以用到配置文件下: < property> 下的name找到类中的属性, value给它赋值
<bean id="BeanUserEntity" class="com.javasm.user.entity.UserEntity">
<property name="name" value="王八蛋"></property>
<property name="sex" value="外星人"></property>
<property name="age" value="13"></property>
</bean>
我们可以用到反射的形式来获取构造器里面的参数
① 获取构造器,获取第一个参数的类型
<bean id="BeanUserEntity" class="com.javasm.user.entity.UserEntity">
//这里可以看到我们第一个参数的值是封装起来的,所以我们要获得他的构造器来获取里面的对象,再给这个对象赋值
<constructor-arg index="0" type="java.lang.Integer" value="1001"></constructor-arg>
//下面两个是没有被封装起来的所以我们可以直接获取到它的对象来给它赋值
<property name="name" value="王八蛋"></property>
<property name="sex" value="13"></property>
</bean>
给集合类注入依赖对象
<property name="list" >
<list>
<value >一只猫</value>
<value >两只猫</value>
<value >三只猫</value>
</list>
</property>
<property name="map" >
<map>
<entry key="狗" value="斑点狗"></entry>
<entry key="老鼠" value="赖皮鼠"></entry>
<entry key="鸡" value="叽叽鸡"></entry>
</map>
</property>
//配置文件注入值
<property name="prop" >
<props >
<prop key="maysql">192.168.11.254</prop>
<prop key="password">192</prop>
<prop key="username">root</prop>
</props>
</property>
```