最近在開發項目的時候發現spring的BeanFactory創建bean的時候有時候有2種不同的配置,即<bean id="test" class="com.TestImpl">與<bean name="test" class="com.TestImpl">,下面一起分析一下這2種配置的區別:
1、命名規范。id屬性命名必須滿足xml命名規范,而name屬性命名可以不用遵守。不論是id屬性還是name屬性在創建bean的時候不遵守命名規范會拋出異常。
2、唯一性。id屬性命名必須嚴格遵守唯一原則,否則會報錯;name屬性命名可以不必遵守唯一原則,在創建實例對象的時候后面一個bean會覆蓋前面一個bean。
開發的時候勁量都使用id屬性配置bean,嚴格的檢測能讓程序更加良好。