美文网首页工作生活
关于Spring Bean命名 2019-07-02

关于Spring Bean命名 2019-07-02

作者: 琴匣自鸣 | 来源:发表于2019-07-02 20:46 被阅读0次

    Spring中Bean的命名

    1、每个Bean可以有一个id属性,并可以根据该id在IoC容器中查找该Bean,该id属性值必须在IoC容器中唯一;

    2、可以不指定id属性,只指定全限定类名,如:

    <bean class="com.zyh.spring3.hello.StaticBeanFactory"></bean>

    此时需要通过接口getBean(Class<T> requiredType)来获取Bean;

    如果该Bean找不到则抛异常:NoSuchBeanDefinitionException

    如果该类型的Bean有多个则抛异常:NoUniqueBeanDefinitionException

    3、如果不指定id,只指定name,那么name为Bean的标识符,并且需要在容器中唯一;

    4、同时指定name和id,此时id为标识符,而name为Bean的别名,两者都可以找到目标Bean;

    5、可以指定多个name,之间可以用分号(“;”)、空格(“ ”)或逗号(“,”)分隔开,如果没有指定id,那么第一个name为标识符,其余的为别名;若指定了id属性,则id为标识符,所有的name均为别名。如:

    <bean name="alias1 alias2;alias3,alias4" id="hello1" class="com.zyh.spring3.hello.HelloWorld">  <constructor-arg index="0" value="Rod"></constructor-arg> </bean>

    此时,hello1为标识符,而alias1,alias2,alias3,alias4为别名,它们都可以作为Bean的键值;

    6、可以使用<alias>标签指定别名,别名也必须在IoC容器中唯一,如:

    <bean name="bean" class="com.zyh.spring3.hello.HelloWorld"/>   <alias alias="alias1" name="bean"/>   <alias alias="alias2" name="bean"/>

    相关文章

      网友评论

        本文标题:关于Spring Bean命名 2019-07-02

        本文链接:https://www.haomeiwen.com/subject/wtfxhctx.html