一、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均爲別名。如二、hibernate.hbm2ddl.auto參數設置說明
validate 加載hibernate時,驗證創建數據庫表結構
create 每次加載hibernate,重新創建數據庫表結構,這就是導致數據庫表數據丟失的原因。
create-drop 加載hibernate時創建,退出是刪除表結構
update 加載hibernate自動更新數據庫結構
總結:
1.請慎重使用此參數,沒必要就不要隨便用。
2.如果發現數據庫表丟失,請檢查hibernate.hbm2ddl.auto的配置
三、修改@repository默認命名時需注意添加限定類名(完整包類名)