前几天学Spring的时候,发现很多概念都不了解,所以这两天找了本概念书(《Spring+SpringMVC+MyBatis从零开始学》)大概了解了一些SSM(Spring + SpringMVC + MyBatis)的概念。书上最后一个章节是完整项目开发的实例,为了更好感受SSM的魅力,跟着完整敲了一遍,下面记录下整个项目的实现进程。
该系统在开发过程中整合三大框架的基础上实现了系统后台的用户管理、用户登录、登录验证、新闻发布管理等。
主要涉及的知识点如下。
• 系统架构和文件组织结构。
• 数据分析与设计。
• 系统环境搭建。
• 系统功能设计和功能编码实现。
1. 系统架构设计
系统后台使用SSM三大框架实现,前台页面使用当前主流的Bootstrap和jQuery框架完成新闻展示。系统根据功能的不同,项目结构可以划分为以下几个层次。
• 持久对象层:由若干持久化类(实体类)组成。
• 数据访问层:由若干DAO接口和MyBatis映射文件组成。接口的名称统一以DAO结尾,且MyBatis的映射文件名称要与接口的名称相同。
• 业务逻辑层:该层由若干Service接口和实现类组成。在本系统中,业务逻辑层的接口统一使用Service结尾,其实现类名称统一在接口名后加Impl。该层主要用于实现系统的业务逻辑。
• Web表现层:该层主要包括Spring MVC中的Controller类和JSP页面。Controller类主要负责拦截用户请求,并调用业务逻辑层中相应组件的业务逻辑方法来处理用户请求,然后将相应的结果返回给JSP页面。
2. 数据分析与设计
系统主要涉及角色实体、用户实体、新闻类别实体和新闻实体4个实体。其中角色实体与用户实体之间构成一对多的关联关系,新闻类别实体和新闻实体之间构成一对多的关联关系,用户实体和新闻实体之间构成一对多的关联关系。与对象实体相适应,本系统中涉及角色表、用户表、新闻类别表和新闻表,其中用户表通过roleId(角色ID)字段与角色表构成关联关系,新闻表通过CategoryId(类别ID)字段与新闻类别表构成关联关系,新闻表还通过userId(用户ID)字段与用户表构成关联关系。4张表的表结构如下所示:


