spring框架beans.xml中的标签
文章目录
一、beans.xml的名称和位置
在使用spring框架时,首先要从配置文件入手,不然即使会用全注解方式,也很难会完全理解。而配置文件的名称和位置都没有硬性规定,但在开发中经常按照如下说明进行配置。
1.配置文件的名称
配置文件没有固定的名称,但在开发中,为了表明配置文件的意义,通常叫做:beans.xml或者applicationContext.xml,我的习惯是叫做beans.xml。其意义在于:该文件配置了创建对象(bean)的信息。
2.beans.xml的文件位置
beans.xml的文件位置也不是硬性规定,但通常都是放在如下位置:
在ecplipes环境中,放在src目录下;
在idea环境中,放在resource目录下。(该目录编译后会在classpath下)
二、beans.xml配置文件中的标签
beans.xml中的标签,我给分为3类:
第一种:创建对象的标签。
第二种:传入参数的标签。
第三种:其他功能的标签。
1.创建对象的标签
<bean>
标签:用于向spring容器中传递需要创建对象的信息。
属性:
id
:给当前bean起的名字,用来在容器中唯一确定这个bean。
class
:用于绑定创建对象的全限定类名。
scope
:用于指定bean对象的作用范围。(默认为单例singleton)
示例:
<bean id="userService" class="com.itjj.service.UserService" scope="singleton"></bean>
更详细的bean标签用法,请看我的另一篇文章:Spring 框架中bean管理细节
2.给bean传入参数的标签
(1)<constructor-arg>
标签:用于向使用构造函数传参的bean中传入参数。
属性:
name
:通过参数的属性名注入。
type
:和name作用类似,只不过是根据类型注入。(我不太用,因为可能会有两个同类型参数时,会出问题)
index
:通过参数列表的索引注入。(我也不用,因为还要记每个对象的索引,比较麻烦)
— 以上3个属性用于指定给构造函数中的哪个参数赋值 —
value
:用于注入基本数据类型或String类型。
ref
:用于注入其他的注册了bean的数据类型(对象类型),值为传入bean的id值。
示例:(我只展示通过name属性注入,通过value和ref属性赋值)
UserService类的信息
//需要注入的属性
int id;
String username;
UserDao userdao;
//UserService类中的构造器
public UserService(int id,String username,UserDao userDao){
this.id=id;
this.name=name;
this.userDao = userDao;
}
beans.xml中userService的bean配置
<!-- userService 通过构造器注入属性-->
<bean id="userService" class="com.itjj.service.UserService">