AOP:Aspect Oriented Programming,面向切面编程是Spring框架的另一个重要特征。AOP把一个业务流程分成几部分,我们可以进行权限检查,业务处理,日志记录,每个部分单独处理,然后把他们组装成完整的业务流程。每个部分被称为切面或者关注点。
@Transactional(propagation=Propagation.NOT_SUPPORTED,readOnly=true)
如果Hibernate实体类是采用XML文件配置的,配置SessionFactory需要使用LocalSessionFactoryBean,@注解配置的使用类用AnnotationSessionFactoryBean,其余没有区别。
Spring同样能灵活配置Hibernate的事务,方式与JDBC事务管理类似,例如使用HibernateTransactionManager作为Hibernate的事务管理者,使用代理类TransactionProxyFactory配置被管理者。
Spring默认在DAO层添加事物,DAO层的每个方法为一个事务。Spring+Hibernate编程中,习惯的做法是在DAO层上添加一个Service层,然后把事务配置在Service层。分层的做法是,程序调用Service层,Service层调用Dao层,Dao层调用Hibernate实现数据读取,原则上不允许跨层访问。
@Transactional(propagation=Propagation.NOT_SUPPORTED,readOnly=true)
如果Hibernate实体类是采用XML文件配置的,配置SessionFactory需要使用LocalSessionFactoryBean,@注解配置的使用类用AnnotationSessionFactoryBean,其余没有区别。
Spring同样能灵活配置Hibernate的事务,方式与JDBC事务管理类似,例如使用HibernateTransactionManager作为Hibernate的事务管理者,使用代理类TransactionProxyFactory配置被管理者。
Spring默认在DAO层添加事物,DAO层的每个方法为一个事务。Spring+Hibernate编程中,习惯的做法是在DAO层上添加一个Service层,然后把事务配置在Service层。分层的做法是,程序调用Service层,Service层调用Dao层,Dao层调用Hibernate实现数据读取,原则上不允许跨层访问。