Spring註解方式實現IOC及ID推斷規則

1.概述

當使用Spring註解@Componet標註某個類時,可以指定id,如果不指定id,那麼默認會是類名的小寫,這是spring的一個推斷功能。spring的推斷功能是符合外國人的習慣,如Person,第二個字母是小寫,按照習慣應該是一個單詞,推斷出的是person。而NBA,第二個字母是大寫,按照習慣不是一個單詞,則保持不變,推斷出是NBA.

2.代碼示例

創建類PErson3,pErson4,person5,在person5 上通過註解@Component("per5") 指定id爲per5。

//PErson3 
@Component
public class PErson3 {
}

//pErson4 
@Component
public class pErson4 {
}

//person5 
@Component("per5")
public class person5 {
}

在web.xm 中配置包掃描

 <!--配置IOC包掃描-->
 <context:component-scan base-package="cn.ww.domain"/>

編寫測試類:

    @Test
    public void test02(){
        //1.初始化Spring容器
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        //2.獲取bean
        PErson3 p3 = (PErson3) context.getBean("PErson3");
        System.out.println(p3);
        pErson4 p4 = (pErson4) context.getBean("pErson4");
        System.out.println(p4);
        person5 p5 = (person5) context.getBean("per5");
        System.out.println(p5);
        //3.關閉容器
        ((ClassPathXmlApplicationContext)context).close();
    }

 根據id運行結果爲:

根據上面的結果可以得出結論:

註解方式實現IOC - id推斷規則:

1.如果手動指定過id: 則採用指定id 如果沒有手動指定過id 則通過類名自動推斷id

2.如果沒有手動指定過id:看類名的第二個字母

   2.1如果第二個字母是小寫,則類名首字母轉小寫作爲id使用

   2.2如果第二個字母是大寫,則類名首字母保持不變作爲id使用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章