Spring整合SpringMVC与MyBatis实现新闻发布系统

合集下载

文章发布系统的设计与实现

文章发布系统的设计与实现

文章发布系统的设计与实现摘要随着计算机技术的迅速发展,网络正以一种前所未有的冲击力影响着人类的生产和生活。

网络的快速发展,颠覆了传统的信息传播方式,冲破了传统的时间,空间的局限性,继而引发了人类阅读方式的变革。

现如今,网络阅读已成为一种新的时尚,在这种趋势下,文章发布系统应运而生,该系统能以更快速有效的方式分享世界各种信息资源。

本文设计的文章发布系统是一个基于B/S模式,前台界面采用JSP语言编写,后台采用SSH框架来搭建,开发环境使用MyEclipes的系统。

该系统充当了一个网络文章发布媒介的功能,实现了系统化、自动化的管理,使人们在任何地方都能获得需要的信息。

该系统实现了以下几个功能:用户管理功能,文章管理功能,文章搜索功能,文章评论功能。

关键词: java;MVC;文章发布The Design And Implementation Of The Article Publishing SystemAbstractWith the rapid development of computer technology,the network is an unprecedented impact on the impact of human production and life. The rapid development of the network, to subvert the traditional means of information dissemination, breaking the traditional time, space limitations, and then triggered a change in human reading. Now, read the network has become a new fashion trend in this article publishing system came into being, the system can share the world a variety of information resources in a more rapid and efficient manner.This article design article publishing system is based on the B / S mode, the front interface using JSP language, the background using SSH framework to build, the development environment using MyEclipes system. The system serves as a network article to publish media functions, to achieve a systematic, automated management, so that people can get the information in any place. The system implements the following functions: user management functions, article management functions, article search function, article comment function.Key words: java; MVC;article published目录摘要 (1)Abstract (2)1 绪论 (3)1.1 课题背景 (3)1.2 研究现状及发展趋势 (3)1.3 课题意义与目的 (3)1.4 研究内容 (4)1.5 论文组织 (4)2 开发工具和技术介绍 (5)2.1 开发工具 (5)2.1.1 Myeclipse简介 (5)2.1.2 MySQL简介 (5)2.1.3 Tomcat简介 (5)2.2 开发技术 (5)2.2.1 JSP技术简介 (5)2.2.2 Servlet技术简介 (6)2.2.3 SSH框架整合技术简介 (6)2.2.4 B/S模式简介 (7)3 系统分析 (8)3.1 可行性分析 (8)3.1.1 技术可行性 (8)3.1.2 经济可行性 (8)3.1.3 操作可行性 (8)3.1.4 法律可行性 (8)3.2 系统需求分析 (8)3.2.1 功能模块 (8)3.2.2 类图 (10)3.2.3 用例图 (10)3.3 系统详细设计 (12)3.3.1 用户注册模块 (12)3.3.2 用户登录模块 (12)3.3.3 文章搜索模块 (13)3.3.4 用户留言模块 (13)3.3.5 用户评论模块 (13)3.3.6 用户信息管理模块 (14)3.3.7 用户管理模块 (14)3.3.8 公告管理模块 (15)3.3.9 文章管理模块 (15)3.3.10 评论管理模块 (16)3.3.11 留言管理模块 (16)3.3.12 管理员管理模块 (17)3.4 数据库需求分析 (18)3.4.1 系统数据库 (18)3.4.2 实体E-R图 (18)3.4.3 数据库表结构 (21)4 系统实现 (23)4.1 功能模块的实现 (23)4.1.1 用户管理 (23)4.1.2 公告管理 (24)4.1.3 文章管理 (25)4.1.4 文章评论管理 (27)4.1.5 留言管理 (28)4.1.6 管理员信息管理 (28)4.2 界面设计 (30)4.2.1 系统首页 (30)4.2.2 用户注册 (31)4.2.3 用户登录 (31)4.2.4 文章搜索 (32)4.2.5 用户留言 (33)4.2.6 用户评论 (34)5 系统测试 (36)5.1 系统测试测试策略说明 (36)5.2 测试环境 (36)5.2.1 系统测试硬件环境 (36)5.2.2 系统测试软件环境 (37)5.3 测试时间 (37)5.4 测试报告 (37)总结 (41)致谢 (42)参考文献 (43)1 绪论1.1 课题背景在科学技术不断地发展与进步的同时,网络也从各个方面慢慢改变着人们的生活,在当今的时代,我们的生活与网络密不可分,网络已然成为我们生活中不能缺乏的部分。

SpringMVC+Spring+Hibernate框架整合原理,作用及使用方法

SpringMVC+Spring+Hibernate框架整合原理,作用及使用方法

SpringMVC+Spring+Hibernate框架整合原理,作⽤及使⽤⽅法SSM框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层使⽤spring MVC负责请求的转发和视图管理spring实现业务对象管理,mybatis作为数据对象的持久化引擎原理:SpringMVC:1.客户端发送请求到DispacherServlet(分发器)2.由DispacherServlet控制器查询HanderMapping,找到处理请求的Controller3.Controller调⽤业务逻辑处理后,返回ModelAndView4.DispacherSerclet查询视图解析器,找到ModelAndView指定的视图5.视图负责将结果显⽰到客户端Spring:我们平时开发接触最多的估计就是IOC容器,它可以装载bean(也就是我们中的类,当然也包括service dao⾥⾯的),有了这个机制,我们就不⽤在每次使⽤这个类的时候为它初始化,很少看到关键字new。

另外spring的aop,事务管理等等都是我们经常⽤到的。

Mybatis:mybatis是对jdbc的封装,它让数据库底层操作变的透明。

mybatis的操作都是围绕⼀个sqlSessionFactory实例展开的。

mybatis通过配置⽂件关联到各实体类的Mapper⽂件,Mapper⽂件中配置了每个类对数据库所需进⾏的sql语句映射。

在每次与数据库交互时,通过sqlSessionFactory拿到⼀个sqlSession,再执⾏sql命令。

使⽤⽅法:要完成⼀个功能:1. 先写实体类entity,定义对象的属性,(可以参照数据库中表的字段来设置,数据库的设计应该在所有编码开始之前)。

2. 写Mapper.xml(Mybatis),其中定义你的功能,对应要对数据库进⾏的那些操作,⽐如 insert、selectAll、selectByKey、delete、update等。

基于SSM框架的新闻发布管理系统设计与实现

基于SSM框架的新闻发布管理系统设计与实现

基于SSM框架的新闻发布管理系统设计与实现一、本文概述随着信息技术的飞速发展和互联网的普及,新闻发布管理系统成为了传媒行业不可或缺的重要工具。

新闻发布管理系统能够高效地处理新闻信息的发布、编辑、审核、管理等工作,极大地提高了新闻传播的效率和准确性。

在此背景下,基于SSM(Spring、SpringMVC、MyBatis)框架的新闻发布管理系统应运而生,以其高效、稳定、易扩展的特性,成为了新闻发布管理系统的新宠。

本文旨在详细阐述基于SSM框架的新闻发布管理系统的设计与实现过程。

我们将对SSM框架进行简要介绍,并阐述其在新闻发布管理系统中的应用优势。

然后,我们将从需求分析、系统设计、数据库设计、系统实现等几个方面,对新闻发布管理系统的整个生命周期进行详细剖析。

我们将对系统进行功能测试和性能测试,以验证系统的稳定性和性能。

通过本文的阐述,读者可以深入了解基于SSM框架的新闻发布管理系统的设计与实现过程,掌握相关技术和方法,为实际应用提供参考和借鉴。

本文也希望能对新闻发布管理系统的研究和发展起到一定的推动作用。

二、系统需求分析随着信息技术的快速发展,新闻发布管理系统在各类企事业单位、新闻机构以及个人自媒体中的应用越来越广泛。

新闻发布管理系统的主要功能是对新闻资讯进行发布、编辑、管理、查询等操作,以满足不同用户对新闻信息的不同需求。

因此,开发一个高效、稳定、易用的新闻发布管理系统具有重要的现实意义。

功能需求:系统应提供新闻资讯的发布、编辑、删除、查询等基本功能,同时支持对新闻的分类管理,方便用户根据不同的分类快速查找感兴趣的新闻资讯。

系统还应提供用户权限管理功能,对不同用户设置不同的访问权限,保证新闻信息的安全性和准确性。

性能需求:系统应具备良好的性能,能够支持大量用户同时访问和操作,保证系统的稳定性和可靠性。

同时,系统还应具备快速响应的能力,用户在进行各项操作时,系统应能够及时响应并返回结果。

安全性需求:系统应具备良好的安全性,能够防止非法用户的访问和操作,保护新闻信息的安全性和完整性。

http

http

[摘要] 新闻发布系统(News Release System or Content Management System)又叫内容管理系统,是基于新闻和内容管理的全站管理系统 ,本系统可以将杂乱无章的信息(包括文字,图片和影音)经过组织,合理有序地呈现在大家面前.当今社会是一个信息化的社会,新闻作为信息的一部分有着信息量大,类别繁多,形式多样的特点,新闻发布系统的概念就此提出.新闻发布系统的提出使电视不再是唯一的新闻媒体,从此以后网络也充当了一个重要的新闻媒介的功能.它是基于MVC的设计模式,利用Java 语言进行开发的。

前台页面用JSP来实现,后台用Servlet 类封装DAO层中的方法实现业务逻辑,数据库采用MySQL,系统共分为新闻类别管理、新闻发布管理、新闻评论管理和后台管理四大模块。

其中,新闻类别管理,是给新闻进行分类,区别各个新闻的类别。

新闻发布管理,是对用户的新闻信息进行整合进行发布。

新闻评论管理,是对新闻的评论的管理。

后台管理,管理员可以进行添加新闻,添加、删除用户等一系列的管理员操作。

[关键词] 新闻发布系统;MVC模式;Web技术;JSPAbstract: News release system and that content management system that is based on the news and content management station the management system, the system can will desultorily infor mation (including text, images and video) after organization, reasonable and orderly present in fr ont of everyone. Today's society is an information society, news, as part of the information with i nformation, category is various, the various forms of characteristics, press release the concept of system of poses. News release the system make TV is no longer the only news media, from now o n the network has also been used as an important news media function. It is based on the design of the MVC mode, use Java language of development. Front desk with JSP page to realize, with Se rvlet class background layer encapsulation DAO in business logic method, using MySQL database, system is divided into news management category, press conference management, news comme nt management and management background four modules. Among them, the news manageme nt category, is to give the news classification, difference of each news category. News release ma nagement, is to the user's news information released integrate. News comment management, is t o the news comments management. Background management, the administrator can add news, add, delete a user, and a series of administrator operation.Key words: News release system; MVC model; web technology;JSP目录1 绪论 (1)1.1 本课题的研究意义及必要性 (1)1.2 相关领域国内外应用的现状及发展趋势 (1)2 系统分析 (3)2.1 系统功能要求 (3)2.2 系统开发功能 (3)2.3 系统的可行性分析 (3)3 总体设计 (4)3.1 功能模块划分 (4)3.2 系统模块设计图 (4)3.3 开发工具和开发框架介绍 (5)3.3.1 MyEclipse介绍 (5)3.3.2 Tomcat介绍 (6)3.3.3 MVC介绍 (6)4 详细设计 (7)4.1 各模块的功能 (7)4.1.1 游客模块 (7)4.1.2 管理员模块 (7)4.2 系统数据库的设计 (9)4.2.1 数据库表的结构 (9)4.2.2 数据库选择及理由 (10)5 系统实现 (11)5.1 核心模块实现 (11)5.1.1前台的实现 (11)5.1.2管理员实现 (22)6 综合测试 (28)6.1简单功能实现 (28)6.1.1 登录控制 (28)6.1.2新闻管理 (29)结束语 (31)参考文献 (32)1 绪论1.1 本课题的研究意义及必要性新闻发布系统(News Release System or Content Management System)又叫做内容管理系统,是一个基于新闻和内容管理的全站管理系统,新闻发布系统是基于B/S模式的WEBMIS系统,本系统可以将杂乱无章的信息(包括文字,图片和影音)经过组织,合理有序地呈现在大家面前.当今社会是一个信息化的社会,新闻作为信息的一部分有着信息量大,类别繁多,形式多样的特点,新闻发布系统的概念就此提出.新闻发布系统的提出使电视不再是唯一的新闻媒体,从此以后网络也充当了一个重要的新闻媒介的功能. 新闻发布系统的特点:(1)是基于B/S模式下的WEB信息系统,数据库逻辑相对简单,但数据量一般比较庞大;(2)用户数量大,服务器压力大,是系统设计中必须考虑的问题之一,而一般的信息系统相对压力要少了很多;(3)是一个开放式的系统,前台浏览无须验证.当今社会是一个信息化的社会,新闻作为信息的一部分有着信息量大,类别繁多,形式多样的特点,新闻发布系统的概念就此提出。

新闻发布系统的数据库设计

新闻发布系统的数据库设计

06
总结与展望
设计总结
数据库表设计
在新闻发布系统的数据库设计中,我们通常设计多个表来存储不同类型的数据。例如,新闻文章可以存储在名为 "news_articles"的表中,该表包含文章的标题、内容、日期和其他相关信息。另外,还可以设计"users"表来存 储用户信息,"categories"表用于存储新闻分类等。
字段类型与约束
针对每个字段,选择合适的数据类型,并定义字段的约束 条件,如主键、外键、非空、唯一等约束。
关联表设计
对于实体之间的关系,需要通过关联表或外键进行实现。 例如,用户与新闻的发布关系,可以通过在用户表和新闻 表中分别建立外键进行关联。
数据库物理结构设计
数据库选型:根据系统需求 和性能要求,选择合适的数 据库管理系统,如MySQL、 Oracle等。
表存储设计:设计表的物理 存储结构,包括表的存储引 擎选择、分区设计、索引设 计等,以提高数据库的读写 性能。
数据备份与恢复:设计数据 库的数据备份策略,确保数 据安全。同时,实现数据的 定期备份和恢复机制,以应 对意外情况。
以上是关于新闻发布系统的 数据库设计的详细内容。在 实际设计过程中,还需要根 据具体需求和业务场景进行 调整和优化。
03
新闻发布系统数据库 需求分析
功能需求分析
用户管理功能
系统需要支持用户注册、登录、信息修改等基本操作,这 就要求数据库能够存储用户的基本信息,如用户名、密码 、邮箱等。
新闻评论功能
读者需要对新闻进行评论,这就要求数据库能够存储评论 的内容、评论者、评论时间等信息。
新闻发布功能
编辑人员需要能够发布新闻,这就要求数据库能够存储新 闻的标题、内容、发布时间等信息。

基于WEB的新闻发布系统的设计与实现

基于WEB的新闻发布系统的设计与实现

基于WEB的新闻发布系统的设计与实现长江师范学院本科毕业设计·基于WEB的新闻发布管理系统的设计与实现目录第1章前言 (1)第2章系统概述 (1)2.1设计模式 (1)2.1.1 MVC模式基本原理 (2)2.2.2 MVC Model1 (3)2.2.3 MVC Model2 (3)2.3小结 (4)第3章系统设计 (4)3.1系统总体设计 (4)3.1.1 系统构架 (4)3.1.2系统类设计 (5)3.2视图层设计 (6)3.2.1 前台设计 (6)3.2.2 后台设计 (6)3.3模型层设计 (7)3.3.1 前台显示和用户登录 (7)3.3.2 新闻管理 (7)3.3.3 栏目管理 (8)3.4.1 用户登录 (8)3.4.2 新闻管理 (8)3.4.3 栏目管理 (8)3.5数据库设计 (8)3.5.1 数据库概念设计 (8)3.5.2 数据库表设计 (9)3.6数据库连接设计 (10)3.6.1 传统的数据库连接 (10)3.7小结 (13)第4章系统实现 (13)4.1视图层实现 (13)4.1.1 公共页面 (13)4.1.2 前台实现 (15)4.1.3 后台实现 (16)4.2模型层实现 (18)4.2.1 新闻显示 (18)4.2.2 新闻管理 (19)4.2.3 栏目管理 (19)4.3控制层实现 (19)4.3.1 用户登录 (20)4.3.2 新闻管理 (20)4.4小结 (21)第5章系统运行测试 (21)5.1系统测试环境 (21)5.1.1 系统测试硬件环境 (21)5.1.2 系统测试软件环境 (21)5.2系统测试 (22)总结 (23)参考文献 (24)致谢 (25)附录 (26)第1章前言伴随着网络的出现,网页逐渐融入人们的生活。

快速及时的新闻浏览,五彩缤纷的网上信息,使网络与人们的生活息息相关,于是世界上出现了第三媒体——Internet。

SpringMVC+Spring+Mybatis框架配置详细步骤(eclipse普通版)

SpringMVC+Spring+Mybatis框架配置详细步骤(eclipse普通版)

SSI框架搭建SpringMVC3.1.2+Spring3.1.2+Mybatis3.2.6编号:SSI-SMVC3-S3-I3版本:V1.0级别:公开编写时间:2016-02-17目录1 导言 (1)1.1 目的 (1)1.2 范围 (1)1.3 说明 (1)2 搭建SpringMVC (2)2.1 搭建所需jar包 (2)2.2 其他依赖包 (3)2.3 搭建步骤 (4)2.3.1 创建项目 (4)2.3.2 导入jar包 (6)2.3.3 配置web.xml (7)2.3.4 配置spring-servlet.xml (9)2.3.5 配置applicationContext.xml (10)2.3.6 配置log4j.properties (10)3 整合mybatis (11)3.1 整合所需jar包 (11)3.2 其他依赖包 (11)3.3 整合步骤 (11)3.3.1 导入jar包 (11)3.3.2 配置config.properties (12)3.3.3 配置spring-dataSource.xml (12)3.3.4 配置applicationContext.xml (15)3.3.5 配置mybatis-config.xml (16)3.3.6 创建实体model (17)3.3.7 创建实例化dao (19)3.3.8 创建业务服务service (21)3.3.9 创建控制层controller (23)3.3.10 页面代码 (28)3.3.11 启动项目 (37)1导言1.1 目的本文档是根据个人的工作经验搭建的轻量级SSI框架,也是实际应用中比较全面的基础框架,用于指导SSI框架初学者学习搭建SSI框架,希望能给各位使用者提供帮助,同时也希望朋友们尽量去帮助其他人。

1.2 范围本次框架搭建的版本是SpringMVC3.1.2+Spring3.1.2+Mybatis3.2.6,数据库采用的是mysql,在eclipse开发工具下搭建直接搭建的web项目,页面采用的是h5,ajax实现数据访问,如果页面为jsp等,则修改controller的返回类型即可。

SpringMvc与Mybatis整合

SpringMvc与Mybatis整合

SpringMvc与Mybatis整合1.目的学习SpringMvc与Mybatis怎样整合在一起。

2.环境准备1)jdk版本:jdk1.7或jdk1.82)IDE:eclipse3)Tomcat:Apache Tomcat v7.04)数据库:mysql及navicat for mysql3.整合3.1.新建一个web项目注意:这里选择Dynamic Web Module 2.5 ,因为2.5是主流,默认在eclipse的WebContent \WEB-INF\目录下创建web.xml的,而3.0则默认没有web.xml文件3.2.添加整合所需的jar包注:所有的包已经放到文件jar里面了3.3.web.xml配置3.3.1.代码如下:<?xml version="1.0"encoding="UTF-8"?><web-app xmlns:xsi="/2001/XMLSchema-instance /schema/cache/springmodules-cache.xsd /schema/cache/springmodules-ehcache.xsd"xmlns="/xml/ns/javaee"xsi:schemaLocation="/xml/ns/javaee /xml/ns/javaee/web-app_2_5.xsd"id="WebApp_ID"version="2.5"><display-name>SpringMvc-Mybatis</display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><!-- Spring配置文件 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param><!-- 编码过滤器 --><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><async-supported>true</async-supported><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- Spring监听器 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!-- 添加对springmvc的支持 --><servlet><servlet-name>springMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</se rvlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value> </init-param><load-on-startup>1</load-on-startup><async-supported>true</async-supported></servlet><servlet-mapping><servlet-name>springMVC</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping></web-app>3.3.2.代码详解:1)Spring配置文件:applicationContext.xml(下面会介绍)2)编码过滤器:选择UTF-8,解决中文乱码问题3)Spring监听器:org.springframework.web.context.ContextLoaderListener4)添加对springmvc的支持SpringMVC配置文件:spring-mvc.xml(下面会介绍)3.4.spring-mvc.xml配置3.4.1.代码如下:<?xml version="1.0"encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:p="/schema/p"xmlns:aop="/schema/aop"xmlns:context="/schema/context"xmlns:jee="/schema/jee"xmlns:tx="/schema/tx"xsi:schemaLocation="/schema/aop/schema/aop/spring-aop-4.0.xsd/schema/beans/schema/beans/spring-beans-4.0.xsd/schema/context/schema/context/spring-context-4.0.xsd /schema/jee/schema/jee/spring-jee-4.0.xsd/schema/tx/schema/tx/spring-tx-4.0.xsd"><!-- 使用注解的包,包括子集 --><context:component-scan base-package="com.java1234.controller"/><!-- 视图解析器 --><bean id="viewResolver"class="org.springframework.web.servlet.view.InternalResourceViewReso lver"><property name="prefix"value="/"/><property name="suffix"value=".jsp"></property></bean></beans>3.4.2.代码详解:1)使用注解的包,包括子集:自动扫描"com.java1234.controller"包下的所有类,作为controller层的类2)视图解析器:controller层返回的数据会解析到相应的 .jsp里面3.5.applicationContext.xml配置3.5.1.代码如下:<?xml version="1.0"encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:p="/schema/p"xmlns:aop="/schema/aop"xmlns:context="/schema/context"xmlns:jee="/schema/jee"xmlns:tx="/schema/tx"xsi:schemaLocation="/schema/aop/schema/aop/spring-aop-4.0.xsd/schema/beans/schema/beans/spring-beans-4.0.xsd/schema/context/schema/context/spring-context-4.0.xsd /schema/jee/schema/jee/spring-jee-4.0.xsd/schema/tx/schema/tx/spring-tx-4.0.xsd"><!-- 自动扫描 --><context:component-scan base-package="com.java1234.dao"/><context:component-scan base-package="com.java1234.service"/><!-- 配置数据源 --><bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"value="com.mysql.jdbc.Driver"/><property name="url"value="jdbc:mysql://localhost:3306/db_mybatis2"/><property name="username"value="root"/><property name="password"value="123456"/></bean><!-- 配置mybatis的sqlSessionFactory --><bean id="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource"ref="dataSource"/><!-- 自动扫描mappers.xml文件 --><property name="mapperLocations"value="classpath:com/java1234/mappers/*.xml"></property><!-- mybatis配置文件 --><property name="configLocation"value="classpath:mybatis-config.xml"></property></bean><!-- DAO接口所在包名,Spring会自动查找其下的类 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage"value="com.java1234.dao"/><property name="sqlSessionFactoryBeanName"value="sqlSessionFactory"></property></bean><!-- (事务管理)transaction manager, use JtaTransactionManager for global tx --><bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionMana ger"><property name="dataSource"ref="dataSource"/></bean><!-- 配置事务通知属性 --><tx:advice id="txAdvice"transaction-manager="transactionManager"> <!-- 定义事务传播属性 --><tx:attributes><tx:method name="insert*"propagation="REQUIRED"/><tx:method name="update*"propagation="REQUIRED"/><tx:method name="edit*"propagation="REQUIRED"/><tx:method name="save*"propagation="REQUIRED"/><tx:method name="add*"propagation="REQUIRED"/><tx:method name="new*"propagation="REQUIRED"/><tx:method name="set*"propagation="REQUIRED"/><tx:method name="remove*"propagation="REQUIRED"/><tx:method name="delete*"propagation="REQUIRED"/><tx:method name="change*"propagation="REQUIRED"/><tx:method name="get*"propagation="REQUIRED"read-only="true"/><tx:method name="find*"propagation="REQUIRED"read-only="true"/><tx:method name="load*"propagation="REQUIRED"read-only="true"/><tx:method name="*"propagation="REQUIRED"read-only="true" /></tx:attributes></tx:advice><!-- 配置事务切面 --><aop:config><aop:pointcut id="serviceOperation"expression="execution(* com.java1234.service.*.*(..))"/> <aop:advisor advice-ref="txAdvice"pointcut-ref="serviceOperation"/></aop:config></beans>3.5.2.代码详解:1)自动扫描:自动扫描"com.java1234.dao"和"com.java1234.service"包下的所有类,作为dao层和service层的类2)配置数据源:就是连接数据库,包括driverClassName、url、username、password这四项3)整合最重要①配置mybatis的sqlSessionFactory:作为整合的桥梁,以前我们要自己获取,现在由spring管理,简单方便"org.mybatis.spring.SqlSessionFactoryBean"由lib目录下的mybatis-spring-1.2.0.jar包提供②引入数据源"dataSource"③自动扫描mappers.xml文件,即映射文件④mybatis配置文件:mybatis-config.xml(下面会介绍)4)DAO接口所在包名,Spring会自动查找其下的类:注入"sqlSessionFactoryBeanName"5)(事务管理):spring用到的,引入数据源"dataSource"6)配置事务通知属性7)配置事务切面注:(关于spring事务管理配置:这里简单介绍了一下,具体介绍网上有很多,这里不详细介绍了,大家想深入了解就百度一下吧)事务在系统服务启动的时候就加载了,一般的,我们把事务配在service层,利用service的业务逻辑借口统一的管理。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1) 主题表(topic):用于记录新闻主题。 (2) 新闻信息表(newsinfo):用于记录新闻相关信息。 (3) 新闻评论表(comment):用于记录新闻评论信息。 (4) 用户信息表(users):用于记录新闻前台的用户信息。 (5) 管理员信息表(admin):用于记录管理员的信息。 (6) 系统功能表(functions):用于记录系统可供使用的功能菜单。 (7) 权限表(powers):用于记录各管理员所拥有的系统功能。
14
24.6 创建DAO接口及动态提供类
在com.news.dao包中,依次创建数据访问层接口 TopicDAO.java、NewsinfoDAO.java、CommentDAO.java、 UserDAO.java、AdminDAO.java、FunctionDAO.java。
在这些DAO接口中基于MyBatis注解完成数据库的操作。
Spring整合Spring MVC与 MyBatis实现新闻发布系统
目录
1 系统概述及需求分析 2 数据库设计 3 系统环境搭建 4 系统配置文件 5 创建实体类 6 创建DAO接口及动态提供类 7 创建Service接口及实现类 8 开发新闻发布系统各功能模块
24.1 系统概述及需求分析
本章实现的是一个简易的新闻发布系统,主要分为两个部分: 前台与后台。在前台,未登录用户可以通过选择主题,分页查 看该主题的所有新闻标题,单击新闻标题可浏览新闻详细内容; 登录用户还可以发表评论。在后台,管理员可以对主题和新闻 进行管理,具体包括新闻管理、主题管理、评论管理和用户管 理。管理员在后台添加的新闻,前台的新闻列表会自动更新。
6
24.2 数据库设计
其中,主题表(topic)的字段说明如表24-1所示。 新闻信息表(newsinfo)的字段说明如表24-2所示。
7
24.2 数据库设计
新闻评论表(comment)的字段说明如表24-3所示。
用户信息表(users)的字段说明如表24-4所示。
8
24.2 数据库设计
管理员信息表(admin)的字段说明如表24-5所示。 系统功能表(functions)的字段说明如表24-6所示。
15
24.6 创建DAO接口及动态提供类
在接口TopicDAO中声明如下方法:
// 根据id查询新闻主题 Topic selectById(int id); // 查询所有新闻主题 List<Topic> selectAllTopic(); // 分页动态查询 List<Topic> selectByPage(Map<String, Object> params); // 根据条件动态查询主题总记录数 Integer count(Map<String, Object> params); // 添加主题 int save(Topic topic); // 修改主题 void edit(Topic topic);
9
24.2 数据库设计ຫໍສະໝຸດ 权限表(powers)的字段说明如表24-7所示。 创建数据表后,设计数据表之间的关系,如图24-4所示。
10
24.3 系统环境搭建
在第21章的21.8小节中,以用户登录为例详细介绍了Spring整合 Spring MVC与MyBatis,读者可参照完成新闻发布系统的框架搭建。 当然,读者也可以直接将21.8小节创建的项目springmvc_ssm复制一 份并重新命名为news,再导入到MyEclipse中。为避免部署重复,需 要修改项目的部署名称。修改过程如下:在MyEclipse中右击项目 news,依次选择“Properties MyEclipse Deployment Assembly”,将Web Context Root修改为“news”即可。然后将 jackson-annotations-2.6.0.jar、jackson-core-2.6.0.jar和jacksondatabind-2.6.0.jar这三个jar包复制到项目的WebRoot\WEB-INF\lib目 录中,用于支持Spring MVC实现自动Json格式数据转换。
11
24.3 系统环境搭建
新闻发布系统的目录结构如图24-5所示,其中com.news.pojo包用于存放 实体类, com.news.dao包用于存放数据访问层接口, com.news.dao.provider包用于存放构建动态SQL语句的类, com.news.service包用于存放业务逻辑层接口,com.news.service.impl包用 于存放业务逻辑层接口的实现类, com.news.controller包用于存放控制器 类,com.news.interceptor包用于存放登录权限验证的拦截器类。
16
24.6 创建DAO接口及动态提供类
在接口NewsinfoDAO中声明如下方法:
12
24.4 系统配置文件
Spring使用的配置文件为applicationContext.xml,Spring MVC使用的配置文件为springmvc.xml,这些配置文件的含义在 第21章的21.8小节中已具体介绍过,由于篇幅,在此不再赘述。
13
24.5 创建实体类
在com.news.pojo包中,依次创建实体类Topic.java、 Newsinfo.java、Comment.java、Users.java、Admin.java、 Functions.java、Powers.java、Pager.java和TreeNode.java 。
3
24.1 系统概述及需求分析
新闻发布系统中普通用户和管理员的用例图分别如图24-1和 图24-2所示。
4
24.1 系统概述及需求分析
根据系统需求分析,可以得到系统的模块结构,如图24-3所 示。
5
24.2 数据库设计
数据库设计是系统设计中非常重要的一个环节,数据是设计 的基础,直接决定系统的成败。如果数据库设计不合理、不完 善,将在系统开发中,甚至到后期的维护时,引起严重的问题。 根据系统需求,创建了7张表,如下所示:
相关文档
最新文档