百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

这款基于SpringBoot 的CMS系统,开发企业官网确实香(附源码)

myzbx 2025-04-09 18:29 13 浏览

前言

推荐这个项目是因为使用手册部署手册非常完善,项目也有开发教程视频对小白非常贴心,接私活可以直接拿去二开非常舒服

开源说明

  • 系统100%开源
  • 模块化开发模式,铭飞所开发的模块都发布到了maven中央库。可以通过pom.xml文件的方式拉取源代码

    net.mingsoft
    模块
    版本号
    sources
    provided

商用

基于MIT开源协议,可直接商用无需授权,但请尊重开源精神不要去掉代码中铭飞的注释和版权信息

特点

  • 免费完整开源:基于MIT协议,源代码完全开源,无商业限制,MS开发团队承诺将MCMS内容系统永久完整开源;关注Java项目分享
  • 标签化建站:不需要专业的后台开发技能,只要使用系统提供的标签,就能轻松建设网站;
  • html静态化:系统支持全站静态化;
  • 跨终端:站点同时支持PC与移动端访问,同时会自动根据访问的终端切换到对应的界面,数据由系统统一管理;
  • 海量模版:铭飞通过MStore(MS商城)分享更多免费、精美的企业网站模版,降低建站成本;关注Java项目分享
  • 丰富插件:为了让MCms适应更多的业务场景,在MStore用户可以下载对应的插件,如:站群插件、微信插件、商城插件等;
  • 每月更新:铭飞团队承诺每月28日为系统升级日,分享更多好用等模版与插件;
  • 文档丰富:为了让用户更快速的使用MCms系统进行开发,铭飞团队持续更新开发相关文档,如标签文档、使用文档、视频教程等;

面向对象

  • 企 业:帮助创立初期的公司或团队快速搭建产品的技术平台,加快公司项目开发进度;
  • 开发者:帮助开发者快速完成承接外包的项目,避免从零搭建系统;
  • 学习者:初学JAVA的同学可以下载源代码来进行学习交流;

开发环境

建议开发者使用以下环境,这样避免版本带来的问题

  • Windows、Linux
  • Eclipse、Idea
  • Mysql≧5.7
  • JDK≧8
  • Tomcat≧8

1. MCms内容插件手册

MCms内容插件提供最基本的菜单、权限、角色、栏目、内容、静态化、等常用功能。
视频教程:内容插件视频教程 配合代码生成器使用快速提升开发效率:代码生成器在线视频教程、代码生成器使用文档

1.1. Apache Maven依赖

1.1.1. 当前版本

    net.mingsoft    ms-mcms    当前版本    net.mingsoft    ms-mcms    当前版本    sources

1.2. 接口

项目访问路径/swagger-ui.html#/

**系统部署手册 **

1. jar部署

1.1. 打包方式1

懒人做法,将所有的资源打成一个jar包,维护资源不方便,不推荐

mvn clean packagejava -jar ms-mcms.jar

1.2. 打包方式2(推荐)

打包指令增加参数 -f bin-xml ,执行完成会在target目录会生成 “ 项目-bin ” 发布文件夹

mvn clean package -f bin-xml

1.2.1. 目录结构

config:配置文件

html:静态化自动生成的目录(自动生成)

static:静态资源文件

templets:(必须)模版目录,需要复制一份

upload:(必须)上传的文件夹

WEB-INF:ftl视图文件

mcms.log:自动生成的日志文件

*.sh:linux启动、停止脚本

*.bat:window启动、停止脚本

技术选型

后端框架

技术

名称

官网

Spring Framework

容器

http://projects.spring.io/spring-framework

Spring Boot

MVC框架

https://spring.io/projects/spring-boot

Apache Shiro

安全框架

http://shiro.apache.org

Spring session

分布式Session管理

http://projects.spring.io/spring-session

MyBatis

ORM框架

http://www.mybatis.org

Freemarker

视图框架

http://freemarker.foofun.cn

PageHelper

MyBatis分页插件

http://git.oschina.net/free/Mybatis_PageHelper

Log4J

日志组件

http://logging.apache.org

Maven

项目构建

http://maven.apache.org

Elasticsearch

分布式搜索引擎

https://www.elastic.co

Redis

分布式缓存数据库

https://redis.io

hutool

工具类

http://hutool.mydoc.io

前端框架

技术

名称

官网

vue

函式库

https://cn.vuejs.org//

element ui

UI库

https://element.eleme.cn/2.0/#/zh-CN

jQuery

函式库

http://jquery.com/

Bootstrap

前端框架

http://getbootstrap.com/

Bootstrap-table

Bootstrap数据表格

http://bootstrap-table.wenzhixin.net.cn/

BootstrapValidator

表单验证

http://bootstrapvalidator.com/

Font-awesome

字体图标

http://fontawesome.io/

Waves

点击效果插件

https://github.com/fians/Waves/

zTree

树插件

http://www.treejs.cn/v3/

Select2

选择框插件

https://github.com/select2/select2

Vue

MVVM框架

https://cn.vuejs.org/

AmazeUI

移动端UI

http://amazeui.org/

Plupload

上传控件

http://www.plupload.com/

freemarker

模板引擎

http://freemarker.foofun.cn/toc.html

validator

验证库

https://github.com/chriso/validator.js

animate

动画

http://daneden.github.io/animate.css/

icon

矢量小图标(待更新)

http://ms.mingsoft.net/html/86//6048/index.html

软件截图

铭飞平台

做开源我们是业余的,写代码我们是认真的。研发产品的路上我们一直在探索、一直在学习、一直在用心投入,希望能给更多的企业与开发者提供一些更有价值的服务。

项目管理





源码资料获取方式:关注小编+转发文章+私信【 0623】免费获取

什么是SpringBoot?

通过Spring Boot,可以轻松地创建独立的,基于生产级别的Spring的应用程序,您可以“运行”它们。大多数Spring Boot应用程序需要最少的Spring配置。

SpringBoot的特征?

  • 创建独立的Spring应用程序
  • 直接嵌入Tomcat,Jetty或Undertow(无需部署WAR文件)
  • 提供固化的“starter”依赖项,以简化构建配置
  • 尽可能自动配置Spring和3rd Party库
  • 提供可用于生产的功能,例如指标,运行状况检查和外部化配置
  • 完全没有代码生成,也不需要XML配置

如何快速构建一个SpringBoot项目?

  • 通过Web界面使用。http://start.spring.io
  • 通过Spring Tool Suite使用。
  • 通过IntelliJ IDEA使用。
  • 使用Spring Boot CLI使用。.

SpringBoot启动类注解?它是由哪些注解组成?

@SpringBootApplication

  • @SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。
  • @EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项。
  • @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
  • @ComponentScan:Spring组件扫描

SpringBoot支持配置文件的格式?

1.properties

java.xiaokaxiu.name = xiaoka

2.yml

java:
xiaokaxiu:
name: xiaoka

SpringBoot启动方式?

  1. main方法
  2. 命令行 java -jar 的方式
  3. mvn/gradle

SpringBoot配置途径?

  1. 命令行参数
  2. java:comp/env里的JNDI属性
  3. JVM系统属性
  4. 操作系统环境变量
  5. 随机生成的带random.*前缀的属性(在设置其他属性时,可以引用它们,比如${random.long})
  6. 应用程序以外的application.properties或者appliaction.yml文件
  7. 打包在应用程序内的application.properties或者appliaction.yml文件
  8. 通过@PropertySource标注的属性源
  9. 默认属性
    tips:这个列表按照优先级排序,也就是说,任何在高优先级属性源里设置的属性都会覆盖低优先级的相同属性。

SpringBoot配置监控?


org.springframework.boot
spring-boot-starter-actuator

关闭应用程序访问哪个端点?

/shutdown
该端点默认是关闭的,如果开启,需要如下设置。

endpoints:
shutdown:
enabled: true

SpringBoot 1.x 和 2.x区别?·······

  1. SpringBoot 2基于Spring5和JDK8,Spring 1x用的是低版本。
  2. 配置变更,参数名等。
  3. SpringBoot2相关的插件最低版本很多都比原来高
  4. 2.x配置中的中文可以直接读取,不用转码
  5. Actuator的变化
  6. CacheManager 的变化

SpringBoot读取配置相关注解有?

  • @PropertySource
  • @Value
  • @Environment
  • @ConfigurationProperties

八股文面试资料获取方式:关注小编+转发文章+私信【37 】免费获取

相关推荐

C语言速成之数组:C语言数据处理的核心武器,你真的玩透了吗?

程序员Feri一名12年+的程序员,做过开发带过团队创过业,擅长Java、鸿蒙、嵌入式、人工智能等开发,专注于程序员成长的那点儿事,希望在成长的路上有你相伴!君志所向,一往无前!数组:C语言数据处理...

ES6史上最全数JS数组方法合集-02-数组操作

数组生成array.ofletres=Array.of(1,2,3)console.log(res)//[1,2,3]下标定位indexOf用于查找数组中是否存在某个值,如果存...

前端性能拉胯?这 8 个 JavaScript 技巧让你的代码飞起来!

在前端开发的江湖里,JavaScript就是我们手中的“绝世宝剑”。但为啥别人用剑就能轻松斩敌,你的代码却总拖后腿,页面加载慢、交互卡顿?别着急!今天带来8个超实用的JavaScript实...

12种JavaScript中最常用的数组操作整理汇总

数组是最常见的数据结构之一,我们需要绝对自信地使用它。在这里,我将列出JavaScript中最重要的几个数组常用操作片段,包括数组长度、替换元素、去重以及许多其他内容。1、数组长度大多数人都知道可...

手把手教你在Webpack写一个Loader

前言有的时候,你可能在从零搭建Webpack项目很熟悉,配置过各种loader,面试官在Webpack方面问你,是否自己实现过一个loader?如果没有去了解过如果去实现,确实有点尴尬,其...

const关键字到底该什么用?(可以用const关键字定义变量吗)

文|守望先生经授权转载自公众号编程珠玑(id:shouwangxiansheng)前言我们都知道使用const关键字限定一个变量为只读,但它是真正意义上的只读吗?实际中又该如何使用const关键字...

“JavaScript变量声明三兄弟,你真的会用吗?

在JavaScript中,var、let和const是声明变量的关键字,它们在作用域、变量提升、重复声明和重新赋值等方面有显著区别。以下是它们的相同点和不同点,并通过代码示例详细说明。一、相同点声明变...

ES6(二)let 和 const(es6 var let const区别)

let命令let和var差不多,只是限制了有效范围。先定义后使用不管是什么编程语言,不管语法是否允许,都要秉承先定义,然后再使用的习惯,这样不会出幺蛾子。以前JavaScript比较随意,...

js 里面 let 和 const的区别(js中的let)

在JavaScript(包括Vue、Node.js、前端脚本等)中,const和let是用于声明变量的两种方式,它们的主要区别如下:constvslet的区别特性constlet是否...

JDK21新特性:Sequenced Collections

SequencedCollectionsJDK21在JEP431提出了有序集合(SequencedCollections)。引入新的接口来表示有序集合。这样的集合都有一个明确的第一个元素、第二个...

动态编程基础——第 2 部分(动态编程是什么)

有两种方法可以使用动态规划来解决问题。在这篇文章中,我们将了解制表法。请参阅我的动态编程基础——第1部分了解记忆方法。记忆制表什么是动态规划?它是一种简单递归的优化技术。它大大减少了解决给定...

Lambda 函数,你真的的了解吗(lambda函数用法)

什么是lambda函数lambda函数是一个匿名函数,这意味着与其他函数不同,它们没有名称。这是一个函数,它添加两个数字,写成一个命名函数,可以按其名称调用它们:defadd(x,y):...

JavaScript 数组操作方法大全(js数组操作的常用方法有哪些)

数组操作是JavaScript中非常重要也非常常用的技巧。本文整理了常用的数组操作方法(包括ES6的map、forEach、every、some、filter、find、from、of等)...

系列专栏(六):解构赋值(解构赋值默认值)

ES6作为新一代JavaScript标准,已正式与广大前端开发者见面。为了让大家对ES6的诸多新特性有更深入的了解,MozillaWeb开发者博客推出了《ES6InDepth》系列文章。CSDN...

js列表遍历方法解读(js遍历链表)

JavaScript提供了多种遍历数组(或列表)的方法。以下是一些常用的方法及其解读:for循环:vararray=[1,2,3,4,5];for(vari=0;...