目录
一、使用无参构造创建对象(默认)
创建User对象
public class User {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
'}';
}
}
注册Bean
<bean id="user" class="com.zlh.pojo.User">
<property name="name" value="QiYu"/>
</bean>
获取user对象,获取成功
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
User user = context.getBean("user", User.class);
System.out.println(user);
注意:使用默认注入方式时如果对象没有无参构造Bean注入会出错
二、使用有参构造创建对象
使用下标赋值
<bean id="user" class="com.zlh.pojo.User">
<constructor-arg index="0" value="QiYu"/>
</bean>
使用类型赋值
<bean id="user" class="com.zlh.pojo.User">
<constructor-arg type="java.lang.String" value="QiYu"/>
</bean>
注意:如果存在两个一样的参数类型,注入顺序与有参构造中的顺序一致
public User(String nickName,String name) {
this.name = name;
this.nickName = nickName;
}
<bean id="user" class="com.zlh.pojo.User">
<constructor-arg type="java.lang.String" value="QiYu"/>
<constructor-arg type="java.lang.String" value="光头披风侠"/>
</bean>
使用参数名赋值
<bean id="user" class="com.zlh.pojo.User">
<constructor-arg name="name" value="QiYu"/>
<constructor-arg name="nickName" value="光头披风侠"/>
</bean>
三、Spring配置
别名
<alias name="user" alias="user2"/>
通过别名同样可以获取Bean
Bean的配置
<bean>标签配置:
- id:bean的唯一标识符,也就是相当于我们学的对象名
- class:bean对象所对应的全限定名:包名+类名
- name:也是别名,而且name可以同时取多个别名,(推荐使用此方式起别名)
<bean id="userT" class="com.zlh.pojo.User" name=" u2,u3;u4">
<constructor-arg name="name" value="QiYu"/>
<constructor-arg name="nickName" value="光头披风侠"/>
</bean>
import标签
impor标签:一般用于团队开发使用,它可以将多个配置文件,导入合并为一个。假设,现在项目中有多个人开发,这三个人负责不同的类开发,不同的类需要注册在不同的bean中,我们可以利用import将所有人的beans.xml合并为一个总的!
beans2.xml
<bean id="user2" class="com.zlh.pojo.User">
<constructor-arg name="name" value="QiYu"/>
<constructor-arg name="nickName" value="光头披风侠"/>
</bean>
beans3.xml
<bean id="user3" class="com.zlh.pojo.User">
<constructor-arg name="name" value="QiYu"/>
<constructor-arg name="nickName" value="光头披风侠"/>
</bean>
使用import标签导入beans.xml
<import resource="beans2.xml"/>
<import resource="beans3.xml"/>
测试获取对象成功