一、bean对象
已在【Spring】002-探索IOC创建对象的方式详述,不再赘述;
且本笔记基于【Spring】002-探索IOC创建对象的方式;
补充一下关于bean对象部分属性的说明:
id:唯一标识;
class:bean的全限定类型;
name:也是别名,而且name可以同时取多个别名,可用逗号隔开或空格或分号即可;
二、别名
第一步:修改applicationContext.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- bean对象-->
<bean id="user" class="com.zibo.pojo.User">
<!--使用下表赋值-->
<constructor-arg name="name" value="訾博"/>
</bean>
<!-- 给bean对象起别名-->
<alias name="user" alias="user2"/>
</beans>
第二步:修改测试类
package com.zibo;
import com.zibo.pojo.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MyTest {
public static void main(String[] args) {
//获取Spring上下文容器对象
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
//获取user
User user = context.getBean("user", User.class);
//使用别名获取user
User user1 = context.getBean("user2", User.class);
//两者是否是同一对象
System.out.println(user == user1);
}
}
测试结果:
使用带参构造创建对象了!
true
三、import导入
1、作用
一般用于团队开发,将多个配置文件,导入合并为一个;
2、示例
第一步:我们来再创建一个配置文件,起名为beans.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--导入applicationContext.xml-->
<import resource="applicationContext.xml"/>
</beans>
第二步:修改测试类
package com.zibo;
import com.zibo.pojo.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MyTest {
public static void main(String[] args) {
//获取Spring上下文容器对象
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
//获取user
User user = context.getBean("user", User.class);
//使用别名获取user
User user1 = context.getBean("user2", User.class);
//两者是否是同一对象
System.out.println(user == user1);
}
}
测试结果:
使用带参构造创建对象了!
true