http://blog.csdn.net/yerenyuan_pku/article/details/72825801

淘淘商城系列——CMS内容管理系统工程搭建

上文我们一起搭建了表现层中的商城门户系统——taotao-portal-web,本文我将教大家如何搭建CMS内容管理系统这个工程。在这之前,我们还是一起分析一下商城门户系统中的表的设计。

商城门户系统中表的设计

我们以京东的首页为例,如下图所示,可以看到内容显示是分组显示的,广告位轮播图是一组,轮播图下面那两张图片是一组,右边的”促销”、”公告”是一组,但是它与轮播图又有所不同,不同之处在于它下面分了两个小组——”促销”组和”公告”组,每个小组下面有标题列表,每个标题都是一个链接,点击”促销”这组的任何一个标题进入会是一个新的网站,点击”公告”这组的任何一个标题进去则是公告的具体内容(相当于一篇文章),”更多”表示还有其它分组。另外”京东秒杀”这也是一组,这组内容的特点是有标题有图片有价格。”发现好货”这组则是有图片有标题。 

从上图京东首页的展示不难看出,我们应该将内容进行分类,每个分类下面有多条内容,它们是一对多的关系,这样的关系就适合用两张表来进行存储。一张表示内容分类表,另一张表示内容表。首先我们来看下内容分类表,如下图所示。 

表中有parent_id字段,这样便可以实现树形分级展示,所以内容分类表存储的是树形结构的数据。分类要有分类名称,即name字段,status字段用来表示该分类目前是否应该显示(如果已经逻辑删除了,那么便不再显示了),sort_order则是同级类目的展现次序,is_parent字段直接记录是否是父级类目(这个字段在树形展示时很有用)。 
下面我们便来看一下内容表,内容表中肯定是有内容分类表的外键的(category_id),内容展示有的有标题,因此需要标题(title)这么一个字段,有的文章是有小标题的,因此我们应该加上小标题字段(sub_title),有的内容需要对标题进行描述,因此需要标题描述字段(title_desc),链接字段是必须要有的,因为内容涉及最多的便是跳转。我们可以看到内容表中设计了两个图片字段,之所以这张表设计了两个图片字段,是因为考虑到不同的显示屏所显示的图片会不一样,宽屏则应该显示宽屏图片,窄屏则应该显示窄屏图片,归根结底是为了适应不同的屏幕。 

分析完商城门户系统中表的设计之后,下面我们来搭建内容管理系统工程。

搭建taotao-content工程

我们可参考taotao-manager工程的创建来搭建CMS内容管理系统工程,它是后台的服务层工程。这个工程里面需要很多模块,我们须把这些模块单独拆分,所以它应该是一个聚合工程。 
首先点击【File】菜单选项,并在下拉框中选中【New】,接着点击【Other】,如下: 

在输入框中输入maven,并选择Maven Project,如下: 

点击【Next】,勾选Create a simple project复选框,如果你不打上这个勾,它会让你选择一个骨架,但骨架里面是没有pom这个模板的。 

点击【Next】,出现如下对话框,在该对话框中定义maven工程的坐标,如下: 

最后点击【Finish】,taotao-content工程即可创建完毕。

搭建taotao-content-interface模块

现在我们来搭建taotao-content-interface模块,方法是在taotao-content工程上右键→Maven→New Maven Module Project,如下图所示。 

弹出如下对话框,勾选”Create a simple project”,在Module Name中输入taotao-content-interface,然后点击”Next”。 

选择该模块的打包方式,我们使用默认的jar,直接点击”Finish”。 

搭建taotao-content-service模块

搭建taotao-content-service模块,步骤基本上同上,只是打包方式换成war即可,如下图所示。 

至于dao和pojo这两个模块我们不用在taotao-content工程再新建一遍了,因为我们在taotao-manager工程当中便创建好了,我们只需要引用这两个模块就可以了。

配置taotao-content工程的pom.xml文件

主要添加对taotao-common工程的依赖,我们最好启动聚合工程,因此我们在聚合工程中配置tomcat启动插件,由于8080、8081、8082都已经被占用了,我们这里使用8083,如下所示。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.taotao</groupId> <artifactId>taotao-parent</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <groupId>com.taotao</groupId> <artifactId>taotao-content</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <modules> <module>taotao-content-interface</module> <module>taotao-content-service</module> </modules> <dependencies> <dependency> <groupId>com.taotao</groupId> <artifactId>taotao-common</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> </dependencies> <!-- 配置tomcat插件 --> <build> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <configuration> <port>8083</port> <path>/</path> </configuration> </plugin> </plugins> </build> </project>
  • 1

配置taotao-content-interface模块的pom.xml文件

主要添加对taotao-manager-pojo的依赖,如下所示。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.taotao</groupId> <artifactId>taotao-content</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>taotao-content-interface</artifactId> <dependencies> <dependency> <groupId>com.taotao</groupId> <artifactId>taotao-manager-pojo</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> </dependencies> </project>
  • 1

配置taotao-content-service模块的pom.xml文件

主要添加对taotao-manager-dao、taotao-content-interface、spring、dubbo的依赖,如下所示。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.taotao</groupId> <artifactId>taotao-content</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>taotao-content-service</artifactId> <packaging>war</packaging> <dependencies> <dependency> <groupId>com.taotao</groupId> <artifactId>taotao-manager-dao</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupId>com.taotao</groupId> <artifactId>taotao-content-interface</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> </dependency> <!-- dubbo相关 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <!-- 排除依赖 --> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </exclusion> <exclusion> <groupId>org.jboss.netty</groupId> <artifactId>netty</artifactId> </exclusion> </exclusions> </dependency> <!-- zookeeper的客户端,你要连接zookeeper,需要把以下两个jar包加进来 --> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> </dependency> </dependencies> </project>
  • 1

框架整合

我们把taotao-manager-service的src/main/resources目录下的mybatis、properties、spring三个目录粘贴到taotao-content-service的src/main/resources目录中。SqlMapConfig.xml文件不用动,如下图所示。 

properties目录下的db.properties配置文件也不用修改,如下图所示。 

spring目录下的applicationContext-dao.xml文件也不用修改,如下图所示。 

为了大家方便复制,现把该文件的内容黏贴出来。

<beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd"> <!-- 数据库连接池 --> <!-- 加载配置文件 --> <context:property-placeholder location="classpath:properties/db.properties" /> <!-- 数据库连接池 --> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <property name="driverClassName" value="${jdbc.driver}" /> <property name="maxActive" value="10" /> <property name="minIdle" value="5" /> </bean> <!-- 让spring管理sqlsessionfactory 使用mybatis和spring整合包中的 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 数据库连接池 --> <property name="dataSource" ref="dataSource" /> <!-- 加载mybatis的全局配置文件 --> <property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml" /> </bean> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.taotao.mapper" /> </bean> </beans>
  • 1

applicationContext-service.xml文件需要修改扫描的包为”com.taotao.content.service”,然后我们到taotao-content-interface的src/main/java目录下新建一个com.taotao.content.service包,并接着在taotao-content-service的src/main/java目录下新建一个com.taotao.content.service.impl包。记得还要将dubbo服务名称修改为”taotao-content”,如下图所示。 

applicationContext-trans.xml文件的内容我们是需要修改的,只须修改切面的包为com.taotao.content.service,如下图所示。 

最后,我们把taotao-manager-service下的WEB-INF及web.xml,粘贴到taotao-content-service的webapp目录下,修改web.xml文件中的<display-name>为”taotao-content”。 

至此,我们的框架就整合好了。希望大家渡过愉快的一天!

转载于:https://www.cnblogs.com/telwanggs/p/6945716.html

(转) 淘淘商城系列——CMS内容管理系统工程搭建相关推荐

  1. springBoot+thymeleaf框架实现cms内容管理和商城系统

    springBoot+thymeleaf框架实现cms内容管理和商城系统 概要介绍 基于开源框架springBoot2.3+thymeleaf+springSecurity+lucene8.5.2 是 ...

  2. 【小程序开发之准备工作】如何开通云开发和CMS内容管理平台

    我的创建小程序项目需要用到云开发功能,需要开通CMS内容管理平台(开通之后可以进行可视化编辑,管理数据库能够更加清晰更加方便) 在创建项目时,"后端服务"这个地方选择不使用云服务( ...

  3. 一文带你学会使用小程序CMS内容管理

    开通云开发并初始化云开发环境看之前的博客即可 小程序云开发–云开发初始化 这篇我就不做解释了 开通CMS可视化网页管理 项目创建好之后点击上方云开发 云开发环境初始化完成以后点击更多中的内容管理 或者 ...

  4. 淘淘商城第32讲——CMS内容管理系统的搭建

    上文我们一起搭建了表现层中的商城门户系统,即taotao-portal-web工程,本文我将教大家如何搭建CMS内容管理系统.说到这里,那什么是内容管理系统呢? 要不你给我说说内容管理系统 为什么需要 ...

  5. (转)淘淘商城系列——展示后台管理页面

    http://blog.csdn.net/yerenyuan_pku/article/details/72773063 我们前面做了那么多准备不是白做的,大家如果坚持到现在,真的值得给自己一个拥抱!现 ...

  6. (转) 淘淘商城系列——Redis集群的搭建

    http://blog.csdn.net/yerenyuan_pku/article/details/72860432 本文我将带领大家如何搭建Redis集群.首先说一下,为何要搭建Redis集群.R ...

  7. 国内免费(开源)CMS内容管理系统介绍

    最近在网上搜集了一下国内的CMS程序,包括了类型,脚本,及其特点和评价,希望能对大家有所帮助, 由于搜集于网络难免有不足和纰漏之处,还请大家能多多指正! 首先还是介绍一下什么是CMS.CMS(Cont ...

  8. 10个优质的基于Node.js的CMS 内容管理平台

    冬尽今宵长 ❝ hi, 大家好, 我是徐小夕,之前和大家分享了很多「低代码可视化」和「前端工程化」相关的话题, 今天继续和大家聊聊「CMS」系统. ❞ 内容管理系统 (「CMS」) 使没有强大技术背景 ...

  9. 微信小程序云开发CMS内容管理平台csv上传乱码或失败的解决方法

    一.新建Excel并编辑数据: 二.Excel 编辑好后另存为csv文件(直接导入微信小程序云开发数据库会出现中文乱码): 三.csv文件直接改后缀名为.txt,然后用记事本打开(如首行出现空字段需删 ...

最新文章

  1. “5G 消息”APP 短暂上线,它会干掉微信还是变成另一个飞信?
  2. 警告: deleting object of polymorphic class type which has non_virtual destructor
  3. 鼠标控制方向java代码_java鼠标操控小程序
  4. 堆(heap)和栈(stack)的区别
  5. linux shell参数传递、获取方式
  6. 演讲者模式投影到幕布也看到备注_家用投影幕布怎么选?(看这一篇就明白了)...
  7. 关于在vue项目中使用wangEditor
  8. linux下动态链接库(.so)的显式调用和隐式调用
  9. ubuntu20.04安装搜狗输入法(社区版+个人版)
  10. 关于爬虫中常见的两个网页解析工具的分析 —— lxml / xpath 与 bs4 / BeautifulSoup...
  11. sdut 数据结构实验之栈四:括号匹配
  12. C语言快速学习笔记001-相关语法
  13. 学完Java后可从事的十大领域!
  14. 数据结构--变长数组
  15. MapGIS6.7投影生成点-以物化探综合剖面图为例
  16. 硬时间窗 遗传算法 matlab,基于遗传算法的多种运输工具或带时间窗的路径优化问题(VRP)的求解(MATLAB)...
  17. 业务安全之接口调用安全
  18. java error while loading shared libraries: libjli.so: cannot open shared object file
  19. eBPF-4-perf_map的丢失事件lost_event解读
  20. 我在迷你控制台风行一时

热门文章

  1. 分布式选举协议:Paxos
  2. Nginx之location配置
  3. Vivado使用ILA调试报错解决
  4. java 基础做增删改查教学_Java Mybatis 增删改查 简单使用 入门 简版
  5. vscode pyqt 环境搭建
  6. vivado fpga最最简单的入门--led闪烁 创建工程+代码输入+添加引脚约束完整具体流程
  7. Linux 变量和结构体
  8. linux中同步例子(完成量completion)
  9. 今日初学C语言写的几个程序。
  10. java程序n体问题_2n皇后问题 (Java代码)详解