当开发者未指定id或name属性时,Spring会为这类受管Bean实例生成唯一标识符。个人建议遵循JavaBean规范定义的命名规则来显式命名受管Bean。
在现实生活中,不少人都存在不少昵称。类似地,Spring允许开发者为受管Bean指定多个名字,我们将这些名字称为别名(alias)。使用 Spring提供的Alias机制能够降低应用与受管Bean间的耦合性。比如,项目中的alias.xml中定义了如下内容和别名
<bean class="test.TestBean"/>
<bean id="testBean" class="test.TestBean"/>
<!-- name指定源POJO,alias指定别名 -->
<alias name="testBean" alias="asm"/>
<bean name="tB" class="test.TestBean"/>
ITestBean tb1 = (ITestBean) factory.getBean("test.TestBean");
ITestBean testBean = (ITestBean) factory.getBean("testBean");
ITestBean tB = (ITestBean) factory.getBean("tB");
ITestBean asm = (ITestBean) factory.getBean("asm");