1、alias 别名
<bean id="user" class="lin.pojo.User">
<constructor-arg name="name" value="林XX"/>
</bean>
<!--别名-->
<alias name="user" alias="new_user"/>
public class MyTest {
public static void main(String[] args) {
ApplicationContext context =
new ClassPathXmlApplicationContext("applicationContext.xml");
User user = (User) context.getBean("user");
User user2 = (User) context.getBean("new_user");
System.out.println(user == user2);
user.show();
}
}
就是表示使用bean中 id 为 user 和 user 的别名new_user获取到的对象是一样的!从别名这个名字就可以得出这个结论!
2、Bean的配置
id : bean的唯一标识,也相当于我们学的对象名
class : bean对象对应的全限定名 --- 包名 + 类型 (就是类名全称)
name :也就是别名,而且name可以同时取多个别名(所以alias别名的用处就不大了)。可以用“,” 、 “空格” 、 “;” 分隔每个别名
<bean id="user" class="lin.pojo.User" name="u,new_user">
<constructor-arg name="name" value="林XX"/>
</bean>
public class MyTest {
public static void main(String[] args) {
ApplicationContext context =
new ClassPathXmlApplicationContext("applicationContext.xml");
User user = (User) context.getBean("user");
User u1 = (User) context.getBean("u");
User u2 = (User) context.getBean("new_user");
System.out.println(user == u1 && user == u2 && u1 == u2);
user.show();
}
}
3、Import
一般用于团队开发使用,它可以将多个配置文件,导入合并为一个!
在原有的基础上在新建一个xml文件。
合并完之后,bean.xml文件中的bean,我们可以通过applicationContext.xml中获取到!
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">
<import resource="beans.xml"/>
</beans>
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">
<!--引用另外一个 id,通过 ref 去指向一个位置-->
<bean id="user" class="lin.pojo.User" name="u,new_user">
<constructor-arg name="name" value="林XX"/>
</bean>
</beans>
测试:
public class MyTest {
public static void main(String[] args) {
ApplicationContext context =
new ClassPathXmlApplicationContext("applicationContext.xml");
User user = (User) context.getBean("user");
User u1 = (User) context.getBean("u");
User u2 = (User) context.getBean("new_user");
System.out.println(user == u1 && user == u2 && u1 == u2);
user.show();
}
}
这样我们就验证了合并完之后,bean.xml文件中的bean,我们可以通过applicationContext.xml中获取到!
项目中有多个人开发,每个人负责不同的类开发,注册在不同的bean中,此时就可以使用import导入来合并这些不同的bean。然后使用的时候,直接使用总的配置就好了!