【spring扫盲】bean别名的两种方式与优异
接上文我们实现了一个最基本的配置:https://www.cnblogs.com/yunren/p/14292819.html
我们现在获取对象的时候都是getBean("person"),与bean.xml文件中的id对应。如何通过别名,配置一个简单的,自定义的名字呢?
import com.course.coke.pojo.Person; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MyTest2 { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); Person person = (Person)context.getBean("person"); person.show(); } }
方式一:alias
<?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是java对象,由spring来创建和管理--> <bean id="person" class="com.course.coke.pojo.Person" > <constructor-arg type="java.lang.String" value="Tom2" /> </bean> <!-- 别名 --> <alias name="person" alias="personNew" /> </beans>
调用的时候,可以这么写:
Person person = (Person)context.getBean("personNew");
方式二:<bean /> 内的name属性
<?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是java对象,由spring来创建和管理--> <bean id="person" class="com.course.coke.pojo.Person" name="p1,p2"> <constructor-arg type="java.lang.String" value="Tom2" /> </bean> </beans>
调用的时候,可以这么写:
Person person = (Person)context.getBean("p1");
这种配置方式,可以通过英文",",或者空格,来配置多个别名,调用的时候任选一个使用即可。
---------------------------------------------------
立足软件测试领域,并重新定义测试!
---------------------------------------------------