set注入(主流)
- 名称property
- 类型:标签
- 归属:bean标签
- 作用:使用set方法的形式为bean提供资源
格式
<bean>
<property />
<bean>
基本属性:
<property name="propertyName" value="propertyValue" ref="beanId"
name:对应bean中的属性名,要求该属性必须提供可访问的set方法(严格规范为此名称是set方法对应名称)
- value:设定非引用类型属性对应的值,不能与ref同时使用
- ref:设定引用类型属性对应的bean的id,不能与value同时使用
引用类型:
1、定义一个私有变量,编写set方法。
2、在spring配置文件中声明要注入的资源
3、在通过property注入
1、
private UserDao userDao;
// 1、对需要进行注入的变量添加set方法
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
2、
<!-- 将要注入的资源声明为bean -->
<bean id="userDao" class="com.example.dao.Impl.UserDaoImpl" />
3、
<bean id="userService" class="com.example.service.impl.UserServiceImpl">
<property name="userDao" ref="userDao" />
</bean>
非引用类型:
1、定义私有变量,编写set方法
2、使用property注入
1、
private int num;
// 1、对需要进行注入的变量添加set方法
public void setNum(int num) {
this.num = num;
}
2、
<bean id="userService" class="com.example.service.impl.UserServiceImpl">
<property name="userDao" ref="userDao" />
<property name="num" value="666"/>
</bean>
ps:注入对象使用ref进行注入
其他:使用value进行注入
集合类型数据注入
- 名称:array,list,set,map,props
- 类型:标签
- 归属:property标签 或 constructor-arg标签
- 租用:注入集合数据类型属性
格式
<property>
<list></list>
</property>
<bean id="BookDao" class="com.example.dao.Impl.BookDaoImpl">
<property name="al">
<list>
<value>cesi</value>
<value>6666</value>
</list>
</property>
<property name="properties">
<props>
<prop key="name">cesi666</prop>
<prop key="value">6666</prop>
</props>
</property>
<property name="arr">
<array>
<value>123456</value>
<value>6666</value>
</array>
</property>
<property name="hs">
<set>
<value>cesi</value>
<value>6666</value>
</set>
</property>
<property name="hm">
<map>
<entry key="name" value="map666" />
<entry key="name" value="map777" />
</map>
</property>
</bean>