SpringBlog应用与Spring的IoC和DI详解
1. SpringBlog应用架构实现
1.1 持久化层实现
数据访问是开发者关注的重点,Spring支持多种数据访问机制,如普通JDBC、Hibernate、MyBatis、Java数据对象(JDO)和JPA。在SpringBlog应用中,为展示数据访问实现的切换便利性,构建了两种持久化层实现:
- JPA实现 :使用Hibernate作为底层持久化服务提供者。Hibernate是Java世界中知名的ORM工具,开发高性能持久化逻辑较为容易,但错误处理代码冗长,Spring可简化其操作。从EJB 3.0开始,实体Bean规范被Java持久化API(JPA)取代,JPA定义了对象到关系映射的通用模式,流行的JPA持久化提供者包括Hibernate、Eclipselink和OpenJPA。
- MyBatis实现 :严格来说,MyBatis不是ORM工具,而是DataMapper框架,开发者仍需创建SQL语句。它引入了SQL映射概念,可指定多种SQL查询及参数映射,在某些数据访问方面功能强大。
在所有情况下,都使用Spring的基础设施类进行数据访问,这些类与Spring的事务架构集成,可在服务层以独立于平台和资源提供者的方式管理事务。
1.2 服务层实现
SpringBlog应用除基本博客数据存储和检索外,业务规则较少,但有两个利用Spring特性的业务功能:
- 使用AOP进行脏话过滤 :AOP是Java领域的热门话题,Spring