在.NET PPT的第九章中,我们探讨了Spring框架如何与其他Java EE技术,如Struts和Hibernate,进行集成,以实现更加高效和简洁的开发。本章的重点在于理解Spring的特性,如依赖注入和声明式事务管理,并学习如何利用这些特性来简化Hibernate编程。
后置通知(AfterReturning Advice)是AOP(面向切面编程)中的一个概念,它在方法成功执行后被调用。在给定的例子中,`RakeOffAdvice`实现了`AfterReturningAdvice`接口,当`BookBizImpl`的`buy`方法执行完毕并返回值后,`afterReturning`方法会被调用,从而实现销售返利的记录功能。配置文件中的切入点表达式需要定义正确,以便将这个通知适当地织入到目标方法中。
接着,Spring通过提供`HibernateDaoSupport`基类,大大简化了Hibernate的使用。例如,`FwxxDAOHibImpl`继承自`HibernateDaoSupport`,无需直接操作`Session`,而是可以利用`HibernateDaoSupport`提供的`getHibernateTemplate()`方法,这样可以避免手动处理事务和异常。在`add()`方法中,`getHibernateTemplate().add()`用于添加对象到数据库,而在`get()`和`search()`方法中,`getHibernateTemplate().get()`和`executeFind()`则分别用于获取单个对象和执行复杂的查询。
Spring与Hibernate的集成涉及到几个关键点:
1. **数据源配置**:通过`LocalSessionFactoryBean`设置数据源,这是创建SessionFactory的基础。
2. **SessionFactory的创建**:`LocalSessionFactoryBean`负责根据配置信息创建SessionFactory,开发者只需要在配置文件中设置数据源即可。
3. **事务管理**:Spring提供了声明式事务管理,开发者可以在XML配置文件中声明事务边界,使得事务管理变得自动化,无需在代码中显式处理。
此外,Spring与Struts的集成主要体现在控制器层面,通过Spring的ModelAndView或者DispatcherServlet来处理请求,将业务逻辑和视图解耦。这使得Struts的动作(Action)类可以专注于业务逻辑,而视图的构建和跳转则由Spring负责。
本章的目标是教会开发者如何利用Spring的依赖注入和事务管理功能来优化后台代码,以及如何集成Struts和Hibernate,以提高开发效率和代码的可维护性。通过这些集成,现有的Java EE技术变得更加易用,降低了开发复杂性,同时提高了系统的可扩展性和灵活性。