1.理解的Spring的DataAccessException
DataAccessException:是Spring提供了一种与特定技术无关的异常,实现服务层与数据访问层的分离。
你不一定要处理DataAccessException,同时由于DataAccessException是NestedRunTimeException的子类,
你可以通过它的getCourse()获得导致这个异常的另一个异常,这样你就可以获得与特定技术相关的异常信息。
Spring为你打造异常分类
Spring清楚与特定技术相关的异常,Spring自己会抛出更为精确的异常
CleanupFailureDataAccessException
DataAccessResourceFailureException
DataIntegrityViolationException
DataRetrieveFailureException
DeadlockLoserDataAccessException
IncorrectUpdataSemanticsDataAccessException
InvalidDataAccessApiUsageException
InvalidDataAccessResourceUsageException
OptimisticLockingFailureException
TypeMismatchDataAccessException
UncategorizeDataAccesException
2.与DataSource一起工作
从JNDI中获得DataSource
创建一个DataSource连接池 org.apache.commons.dbcp.BasicDataSource
在测试时使用DataSource DriveManageDataSource
3.一致的DAO支持
Tempate模式
流程顺序不变,可能有某个流程的细节是要变化,这个交给接口了,然后每个实现着去实现这个接口就可以。
所以Spring是通过提供相应的模板类来实现的,同时也提供了支撑类。
4.Spring与hibernate整合
Spring与hibernate整合主要在以下几方面:
整合事务管理
异常处理
线程安全,轻量级模板类
便利的支持类
资源管理
配置SessionFactory
LocalSessionFactoryBean
dataSource
hibernateProperties
mappingDirectoryLocations
mappingResources
HibernateTemplate
HibernateDaoSupport