1.理解的Spring的DataAccessException
DataAccessException:是Spring提供了一種與特定技術(shù)無關(guān)的異常,實現(xiàn)服務(wù)層與數(shù)據(jù)訪問層的分離。
你不一定要處理DataAccessException,同時由于DataAccessException是NestedRunTimeException的子類,
你可以通過它的getCourse()獲得導(dǎo)致這個異常的另一個異常,這樣你就可以獲得與特定技術(shù)相關(guān)的異常信息。
Spring為你打造異常分類
Spring清楚與特定技術(shù)相關(guān)的異常,Spring自己會拋出更為精確的異常
CleanupFailureDataAccessException
DataAccessResourceFailureException
DataIntegrityViolationException
DataRetrieveFailureException
DeadlockLoserDataAccessException
IncorrectUpdataSemanticsDataAccessException
InvalidDataAccessApiUsageException
InvalidDataAccessResourceUsageException
OptimisticLockingFailureException
TypeMismatchDataAccessException
UncategorizeDataAccesException
2.與DataSource一起工作
從JNDI中獲得DataSource
創(chuàng)建一個DataSource連接池? org.apache.commons.dbcp.BasicDataSource
在測試時使用DataSource?? DriveManageDataSource
3.一致的DAO支持
Tempate模式
流程順序不變,可能有某個流程的細節(jié)是要變化,這個交給接口了,然后每個實現(xiàn)著去實現(xiàn)這個接口就可以。
所以Spring是通過提供相應(yīng)的模板類來實現(xiàn)的,同時也提供了支撐類。
4.Spring與hibernate整合
Spring與hibernate整合主要在以下幾方面:
整合事務(wù)管理
異常處理
線程安全,輕量級模板類
便利的支持類
資源管理
配置SessionFactory
LocalSessionFactoryBean
dataSource
hibernateProperties
mappingDirectoryLocations
mappingResources
HibernateTemplate
HibernateDaoSupport