基于SpringBoot 的CMS系统,拿去开发企业官网真香(附源码)

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

基于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

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

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

系统部署手册

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

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

config:配置文件

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

static:静态资源文件

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

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

WEB-INF:ftl视图文件

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

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

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

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

源码资料获取方式:关注小编+转发文章+私信【 666 】免费获取八股文面试资料获取方式:关注小编+转发文章+私信【 13 】免费获取重要的事情说三遍,转发+转发+转发,一定要记得点赞转发哦!!!面试官:Spring 和 Spring Boot 的区别是什么?

对于 Spring和 SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习 SpringBoot的我当时也是一头雾水,随着经验的积累、我慢慢理解了这两个框架到底有什么区别,相信对于用了 SpringBoot很久的同学来说,还不是很理解 SpringBoot到底和 Spring有什么区别,看完文章中的比较,或许你有了不同的答案和看法!

作为 Java开发人员,大家都 Spring都不陌生,简而言之, Spring框架为开发 Java应用程序提供了全面的基础架构支持。它包含一些很好的功能,如依赖注入和开箱即用的模块,如:

SpringJDBC、SpringMVC、SpringSecurity、SpringAOP、SpringORM、SpringTest,这些模块缩短应用程序的开发时间,提高了应用开发的效率例如,在 JavaWeb开发的早期阶段,我们需要编写大量的代码来将记录插入到数据库中。但是通过使用 SpringJDBC模块的 JDBCTemplate,我们可以将操作简化为几行代码。

SpringBoot基本上是 Spring框架的扩展,它消除了设置 Spring应用程序所需的 XML配置,为更快,更高效的开发生态系统铺平了道路。

SpringBoot中的一些特征:

1、创建独立的 Spring应用。2、嵌入式 Tomcat、 Jetty、 Undertow容器(无需部署war文件)。3、提供的 starters 简化构建配置4、尽可能自动配置 spring应用。5、提供生产指标,例如指标、健壮检查和外部化配置6、完全没有代码生成和 XML配置要求

首先,让我们看一下使用Spring创建Web应用程序所需的最小依赖项

与Spring不同,Spring Boot只需要一个依赖项来启动和运行Web应用程序:

在进行构建期间,所有其他依赖项将自动添加到项目中。

另一个很好的例子就是测试库。我们通常使用 SpringTest, JUnit, Hamcrest和 Mockito库。在 Spring项目中,我们应该将所有这些库添加为依赖项。但是在 SpringBoot中,我们只需要添加 spring-boot-starter-test依赖项来自动包含这些库。

Spring Boot为不同的Spring模块提供了许多依赖项。一些最常用的是:

spring-boot-starter-data-jpaspring-boot-starter-securityspring-boot-starter-testspring-boot-starter-webspring-boot-starter-thymeleaf

有关 starter的完整列表,请查看Spring文档。

让我们来看一下 Spring和 SpringBoot创建 JSPWeb应用程序所需的配置。

Spring需要定义调度程序 servlet,映射和其他支持配置。我们可以使用 web.xml 文件或 Initializer类来完成此操作:

还需要将 @EnableWebMvc注释添加到 @Configuration类,并定义一个视图解析器来解析从控制器返回的视图:

再来看 SpringBoot一旦我们添加了 Web启动程序, SpringBoot只需要在 application配置文件中配置几个属性来完成如上操作:

上面的所有Spring配置都是通过一个名为auto-configuration的过程添加 Bootweb starter来自动包含的。

这意味着 SpringBoot将查看应用程序中存在的依赖项,属性和 bean,并根据这些依赖项,对属性和 bean进行配置。当然,如果我们想要添加自己的自定义配置,那么 SpringBoot自动配置将会退回。

现在我们来看下如何在Spring和Spring Boot中配置Thymeleaf模板引擎。

在 Spring中,我们需要为视图解析器添加 thymeleaf-spring5依赖项和一些配置:

SpringBoot1X只需要 spring-boot-starter-thymeleaf的依赖项来启用 Web应用程序中的 Thymeleaf支持。   但是由于 Thymeleaf3.0中的新功能,我们必须将 thymeleaf-layout-dialect 添加为 SpringBoot2XWeb应用程序中的依赖项。配置好依赖,我们就可以将模板添加到 src/main/resources/templates文件夹中, SpringBoot将自动显示它们。

为简单起见,我们使用框架默认的 HTTPBasic身份验证。让我们首先看一下使用 Spring启用 Security所需的依赖关系和配置。

Spring首先需要依赖 spring-security-web和 spring-security-config 模块。接下来, 我们需要添加一个扩展 WebSecurityConfigurerAdapter的类,并使用 @EnableWebSecurity注解:

这里我们使用 inMemoryAuthentication来设置身份验证。同样, SpringBoot也需要这些依赖项才能使其工作。但是我们只需要定义 spring-boot-starter-security的依赖关系,因为这会自动将所有相关的依赖项添加到类路径中。

SpringBoot中的安全配置与上面的相同

Spring和 SpringBoot中应用程序引导的基本区别在于 servlet。Spring使用 web.xml 或 SpringServletContainerInitializer作为其引导入口点。SpringBoot仅使用 Servlet3功能来引导应用程序,下面让我们详细来了解下

Spring支持传统的 web.xml引导方式以及最新的 Servlet3+方法。

配置 web.xml方法启动的步骤

Servlet容器(服务器)读取 web.xml

web.xml中定义的 DispatcherServlet由容器实例化

DispatcherServlet通过读取 WEB-INF/{servletName}-servlet.xml来创建 WebApplicationContext。最后, DispatcherServlet注册在应用程序上下文中定义的 bean

使用 Servlet3+方法的 Spring启动步骤

容器搜索实现 ServletContainerInitializer的类并执行 SpringServletContainerInitializer找到实现所有类 WebApplicationInitializer“WebApplicationInitializer创建具有XML或上下文 @Configuration类 WebApplicationInitializer创建 DispatcherServlet与先前创建的上下文。

Spring Boot应用程序的入口点是使用@SpringBootApplication注释的类

默认情况下, SpringBoot使用嵌入式容器来运行应用程序。在这种情况下, SpringBoot使用 publicstaticvoidmain入口点来启动嵌入式 Web服务器。此外,它还负责将 Servlet, Filter和 ServletContextInitializerbean从应用程序上下文绑定到嵌入式 servlet容器。SpringBoot的另一个特性是它会自动扫描同一个包中的所有类或 Main类的子包中的组件。

SpringBoot提供了将其部署到外部容器的方式。我们只需要扩展 SpringBootServletInitializer即可:

这里外部 servlet容器查找在war包下的 META-INF文件夹下MANIFEST.MF文件中定义的 Main-class, SpringBootServletInitializer将负责绑定 Servlet, Filter和 ServletContextInitializer。

最后,让我们看看如何打包和部署应用程序。这两个框架都支持 Maven和 Gradle等通用包管理技术。但是在部署方面,这些框架差异很大。例如,Spring Boot Maven插件在 Maven中提供 SpringBoot支持。它还允许打包可执行 jar或 war包并 就地运行应用程序。

在部署环境中 SpringBoot 对比 Spring的一些优点包括:

1、提供嵌入式容器支持2、使用命令java -jar独立运行jar3、在外部容器中部署时,可以选择排除依赖关系以避免潜在的jar冲突4、部署时灵活指定配置文件的选项5、用于集成测试的随机端口生成

简而言之,我们可以说 SpringBoot只是 Spring本身的扩展,使开发,测试和部署更加方便。

直播间源码在开发前期必须做的工作及开发步骤

直播间源码的火爆不言而喻,大家对直播的热情也越来越高涨,他不仅给我们的娱乐生活添加了色彩,而且逐渐的改变了我们很多的生活方式。目前市场上做直播间源码开发的有很多,今天与大家一起来分享一下直播间源码在开发前期必须要做的工作及开发步骤都有哪些?

一·前期工作

1·预算

直播间源码来开发一个视频直播app要先有充足的预算,可以开发出出类拔萃的直播app,高预算可以避免千篇一律。

2·企业资质

企业开发运营资质。开发视频直播app必须采用一些第三方,如第三方社交网络平台登录,手机微信,支付宝付款,银联在线支付等,这种第三方的申请办理毫无疑问都必须要有企业资质,也就是企业营业执照一类的。

3·对公账户

付款就必须有对公账户来开展一系列的付款验证,这也是来代表一个正规公司开发支付的一方面。

二·视频直播app的开发步骤

1·要求沟通交流

客户与产品运营沟通交流直播间源码所开发的大概功能,直播平台开发时间,周期以及报价等,明确后就可以进行下一步。

2·签订合同

依据必须的功能和直播间源码的开发周期,报价以及支付方式等都写进合同里,彼此确定准确无误后签合同,并付款一部分定金。

3·出示材料

客户出示企业营业执照,身份证件,对公账户等信息内容。

4·功能文本文档

直播间源码开发的产品运营刚开始要根据客户所说的实际功能开展,把每一个端,每一个功能,都用文本的方法记下来,从主页刚开始对每一个功能展开细分化,做思维导图。

5·UI设计

客户明确要求后UI设计师根据内容将直播间源码开发的每一个网页页面都以照片的方法开展实现,并将搞好的UI发与客户确定,客户明确提出改动,改动后再明确UI。

6·工作功能工作交接

要求,思维导图,UI明确后将分配任务给技术性,并开会研究实际功能,步骤等都了解掌握后进到开发环节,对直播间源码进行搭建。

7·选择服务器

直播间源码的开发到一定环节能够进行网络服务器的选择,选购后立即将视频直播app部署到网络服务器,网络服务器开发人员进行搭建。

8·出测试包

视频app开发基础进行之后出一个测试包,功能基础都完成,测试组人员根据不一样的型号不一样的方法对视频直播app开展兼容模式测试,流畅度测试,逻辑性测试,步骤测试等,把测试结果意见反馈技术性。

9、二次测试

测试组依据之前碰到的难题开展二次测试,功能健全准确无误后就可以装包发布。

10、上线发布

直播间源码开发的直播APP经过二次测试无误后可发布AppStore、或安卓各大软件应用市场。

总结上述的直播间源码开发准备工作以及开发步骤,小伙伴们快快拿笔记下来,希望对大家的直播系统开发有所帮助。喜欢的可以添加关注。

用好4个GIS源码,解决地图开发难题

你以为与GIS不相关的许多行业都需要用到GIS,GIS所涉及到的领域之广也许超乎你的想象。

最近有越来越多来自各行各业的朋友,他们通过水经微图(以下称“微图”)了解到我们。

其中有一些客户,他们在项目开发中需要用到地图相关的功能,但在GIS方面却几乎是零基础。

不过更让他们犯难的是,这些项目可能已经换过好几茬开发人员,而新接手的开发人员虽然在他们行业内可能是一把好手,但是却没有GIS方面的开发经验。

经过我们深入沟通之后发现,其实只需要用好几个开源的GIS平台,几乎可以解决他们项目的绝大部分问题。

这些开源的GIS平台在GIS领域几乎无人不知无人不晓,但对于GIS行业之外的他们来讲却非常的陌生。

现在,我们就来分享几个开源的GIS平台,让我们一起来推开GIS开发的这扇大门。

Mapbox 是一个强大的地理数据平台,提供了一套用于你创建定制化地图和地理应用的工具和服务。

打开以下链接,可以从Mapbox的官方网站中了解它的详细功能。

Mapbox 官方网站

打开以下网址,可以查阅 Mapbox API 开发文档。

Mapbox API 开发文档

Mapbox 功能主要包括可自定义地图样式、矢量地图瓦片的支持、地图可视化效果丰富和移动SDK功能强大等特点。

(1)自定义地图样式

Mapbox Studio 是 Mapbox 提供的地图设计工具,允许你自定义地图的外观。

你可以选择不同的地图样式,如街道图、卫星图、地形图等,并通过改变颜色、标签、边界等元素来自定义地图样式。

(2)矢量瓦片地图

Mapbox 提供矢量瓦片地图技术,与传统的栅格瓦片不同,矢量瓦片允许地图在客户端进行实时渲染。

这样可以实现更流畅的地图体验和动态的地图样式调整。

(3)地理数据可视化

Mapbox GL JS 是一个基于 WebGL 的 JavaScript 库,用于在网页上显示交互式地图和数据可视化。

你可以在地图上叠加大量的地理数据,如点、线、面,并使用丰富的视觉效果进行动态展示。

(4)3D 地图与建筑

Mapbox 支持 3D 地图展示,可以渲染建筑物、地形等三维元素,提供更真实的地理环境视图。

你可以创建包含地形起伏、3D 建筑和天空盒效果的复杂地图体验。

(5)移动 SDK

Mapbox 提供了适用于 iOS 和 Android 的移动 SDK,支持在移动设备上集成高性能的地图和导航功能。

这些 SDK 同样支持自定义地图样式、3D 渲染、离线地图等功能。

(6)高性能与可扩展性

Mapbox 的地图和服务经过优化,可以处理高并发的访问需求,并支持全球范围内的高性能数据传输。

其可扩展性使得你能够构建从小型应用到大型企业级平台的地图解决方案。

(7)应用场景

Mapbox 广泛应用于多种场景,包括实时交通管理、智能城市解决方案、游戏地图、物流和运输、数据可视化、旅游和导航应用等。

总的来说,Mapbox 是一个功能全面、性能强大的地理数据平台,适合开发各种复杂的地理信息系统和交互式地图应用。

OpenLayers 是一个开源的 JavaScript 库,用于构建互动式地图应用。

它提供了强大的功能,使你能够在网页上显示地图,并在地图上叠加多种地理数据。

打开以下链接,可以从 Openlayers 的官方网站中了解它的详细功能。

OpenLayers 官方网站

打开以下网址,可以查阅 Openlayers API 开发文档。

Openlayers API 开发文档

OpenLayers 的主要功能包括图层管理、多种数据源支持、地图功能交互和支持地图投影等。

(1)地图图层管理

OpenLayers 支持多种类型的地图图层(Layers),包括瓦片图层(Tile Layers)、矢量图层(Vector Layers)、影像图层(Image Layers)等。

你可以轻松地在地图上叠加多个图层,并对它们进行控制和管理。

(2)多种数据源支持

OpenLayers 支持从多种数据源加载地图数据。

例如(OSM、Google Maps、Bing Maps 等)瓦片地图服务、WMS(Web Map Service)和 WMTS(Web Map Tile Service)服务,以及(GeoJSON、KML、GML、TopoJSON 等)矢量数据等。

(3)丰富的交互功能

用户可以通过 OpenLayers 实现多种地图交互功能,如缩放、平移、旋转、测量距离与面积、图层切换、地图标记、路径绘制、弹出信息窗口等。

(4)投影和坐标转换

OpenLayers 支持多种地理坐标投影系统,可以轻松地在不同坐标系之间进行转换。

例如支持WGS 84 和 Web Mercator 之间的转换,且内置了对 EPSG 投影系统的支持。

(5)动画与效果

OpenLayers 提供了动画效果,可以在地图上实现平滑的平移、缩放和旋转。你可以为地图中的元素(如标记或路径)添加动画效果,以增强用户体验。

(6)事件处理

OpenLayers 提供了丰富的事件处理机制,支持对用户的各种操作进行响应,例如鼠标点击、双击、拖动、触摸等。

这使得你可以轻松地为地图应用添加交互逻辑。

(7)高度可扩展性

由于 OpenLayers 是一个高度模块化的库,你可以根据需要自由地选择和加载所需的功能模块。

这使得 OpenLayers 能够适应从简单的地图展示到复杂的 GIS 应用的多种场景。

(8)兼容性和跨平台支持

OpenLayers 兼容现代主流的桌面和移动浏览器,并且支持响应式设计,能够在不同设备上提供一致的用户体验。

(9)丰富的文档资料

作为一个开源项目,OpenLayers 拥有一个活跃的社区,你可以访问丰富的文档、教程和示例代码,并在社区中寻求支持和贡献代码。

(10)应用场景

OpenLayers 常用于地理信息系统 (GIS)、实时数据可视化、地图制图应用、导航系统、环境监测平台等领域。

总体来说,OpenLayers 是构建交互式地图应用的强大工具,其灵活性和功能丰富性使其成为地理信息开发中的重要选择。

Cesium 是一个开源的 JavaScript 库,用于构建 3D 地理信息系统 (GIS) 和地球可视化应用。

它专注于高性能的 3D 地球渲染和交互功能,广泛应用于虚拟地球、空间数据可视化、卫星监控、城市规划等领域。

打开以下链接,可以从 Cesium 的官方网站中了解它的详细功能。

Cesium 官方网站

打开以下网址,可以查阅Cesium API 开发文档。

Cesium API 开发文档

Cesium 的功能主要包括 3D 地球渲染、3D Tiles 瓦片格式支持、动态数据可视化、时间动态效果和空间分析等功能。

(1)3D 地球渲染

Cesium 提供高性能的 3D 地球渲染,支持显示全球范围内的地形、影像和矢量数据。

它使用 WebGL 技术,在浏览器中实现了流畅的 3D 地球渲染,无需插件或客户端安装。

(2)3D 瓦片格式 (3D Tiles)

Cesium 开创了 3D 瓦片格式 (3D Tiles),用于在大规模 3D 场景中高效地管理和渲染海量的 3D 数据。

3D Tiles 支持显示建筑物、城市、点云、管道等复杂的三维数据,并优化了加载和渲染性能。

(3)动态数据可视化

Cesium 支持实时数据流,可以将动态变化的数据直接可视化在 3D 地球上,例如卫星轨迹、飞行路径和气象数据等都可以在 Cesium 中实时更新并展示。

(4)时间动态效果

Cesium 提供时间轴功能,允许用户播放、暂停和回放与时间相关的数据。

这对于模拟事件、分析变化、展示历史数据等非常有用,例如模拟城市的日夜变化、展示卫星观测数据等。

(5)空间分析工具

Cesium 提供一系列空间分析工具,如视域分析、体积计算、距离和面积测量、阴影分析等。

你可以利用这些工具在 3D 场景中进行各种空间分析和计算。

(6)虚拟现实 (VR) 与增强现实 (AR)

Cesium 支持与虚拟现实 (VR) 和增强现实 (AR) 技术的集成,用户可以在 VR/AR 设备中浏览 3D 地球,并进行交互。

这为沉浸式地理数据体验提供了强大的支持。

(7)应用场景

Cesium 广泛应用于多个领域,包括国防和安全、城市规划、建筑设计、环境监测、交通管理、教育与培训等。

它尤其适合需要展示和交互大规模 3D 地理数据的应用场景。

总的来说,Cesium 是一个功能强大且灵活的 3D GIS 开发工具,适合构建从简单到复杂的 3D 地理应用程序。

它在性能、可视化效果和扩展性方面表现出色,成为3D 地理信息系统开发中的重要工具。

微图Web版是一个基于开源平台开发的系统,二维基于Openlayers开源平台开发,三维则基于Cesium开源平台开发。

微图Web版二维地图

微图Web版三维地球

微图Web版三维地形

微图Web版是一个集二维地图与三维地球与一体的WebGIS系统,在该系统中标绘的地图可以二三维同步显示渲染。

微图Web版的功能十分丰富,详细功能请参阅《水经微图Web版功能简介》一文中的详细说明。

微图Web版源码可有偿提供给个人学习研究,或企事业单位在开发项目的过程中作参考借鉴之用。

现在我们可为你提供三个版本的源码,其中高版本包含低版本所有功能。

微图Web版源码功能

通过对微图Web版源码的参考借鉴,可以快速提升个人开发WebGIS的能力,也可以有效加快项目研发进度并降低开发成本。

另外,你需要用到的高清卫星影像或高程DEM等地图数据我们都可以提供,具体请参阅《私有化地图离线部署详细方案》等一文中的详细说明。

不仅如此,我们还可以在你的项目开发过程中提供力所能及的技术支持。

正所谓“闻道有先后,术业有专攻”,在你们行业你可能的确是专家,但在GIS开发方面我们也确实可以分享不少经验,也许会让你少走不少的弯路!

当然,如果你是GIS领域有着丰富经验的专家,那也请不吝指教!

本文为你分享了几个开源平台和微图Web版的源码,你可以根据项目的实际需要选用。

你可以立即点击“分享”按钮,将本文免费分享给你的朋友!

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。