星空网 > 软件开发 > ASP.net

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

声明:该框架面向企业,是大型互联网分布式企业架构,后期会介绍linux上部署高可用集群项目。

有愿意了解框架技术或者源码的朋友直接加Q(2137028325)一起学习

介绍

1.      项目核心代码结构截图

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

<modules>
        <!-- jeesz 工具jar -->
        <module>jeesz-utils</module>
        <!-- jeesz 公共配置jar -->
        <module>jeesz-config</module>
        <!-- jeesz 核心框架jar -->
        <module>jeesz-framework</module>
        <!-- jeesz CMS业务jar -->
        <module>jeesz-core-cms</module>
        <!-- jeesz 代码自动生成业务jar -->
        <module>jeesz-core-gen</module>
        <!-- jeesz 我的收藏业务jar -->
        <module>jeesz-core-bookmark</module>
        <!-- jeesz 电子流业务jar -->
        <module>jeesz-core-act</module>
        <!-- jeesz OA业务jar -->
        <module>jeesz-core-oa</module>
        <!-- jeesz 测试业务jar -->
        <module>jeesz-core-test</module>
        <!-- jeesz 定时调度业务jar -->
        <module>jeesz-core-scheduler</module>
        <!-- jeesz 我的任务业务jar -->
        <module>jeesz-core-task</module>
        <!-- jeesz admin后台管理系統 -->
        <module>jeesz-web-admin</module>
        <!-- jeesz Restful服务管理系統 -->
        <module>jeesz-web-service</module>
        <!-- jeesz 定时调度管理系統 -->
        <module>jeesz-web-scheduler</module>
        <!-- jeesz 我的任务Dubbo服务消費者 -->
        <module>jeesz-web-task</module>
        <!-- jeesz 我的收藏Dubbo服务消費者 -->
        <module>jeesz-web-bookmark</module>
        <!-- jeesz 我的收藏Dubbo服務接口 -->
        <module>jeesz-facade-bookmark</module>
        <!-- jeesz 我的收藏Dubbo服务生产者 -->
        <module>jeesz-service-bookmark</module>
        <!-- jeesz 我的任务Dubbo服务接口 -->
        <module>jeesz-facade-task</module>
        <!-- jeesz 我的任务Dubbo服务生产者 -->
        <module>jeesz-service-task</module>
        <!-- JMS消息 -->
        <module>jeesz-web-mq-task</module>
    </modules>

特别提醒:开发人员在开发的时候可以将自己的业务REST服务化或者Dubbo服务化

 

2.     项目依赖介绍

    2.1  后台管理系统、Rest服务系统、Scheculer定时调度系统依赖如下图:

 

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

        2.2  Dubbo独立服务项目依赖如下图:

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

 

3.      平台简介
        Jeesz是一个分布式的框架,提供项目模块化、服务化、热插拔的思想,高度封装安全性的Java EE快速开发平台

        Jeesz本身集成Dubbo服务管控、Zookeeper注册中心、Redis分布式缓存技术、FastDFS分布式文件系统、ActiveMQ异步消息中间件、Nginx负载均衡等分布式技术

        使用Maven做项目管理,项目模块化,提高项目的易开发性、扩展性

        以Spring Framework为核心容器,Spring MVC为模型视图控制器,MyBatis为数据访问层, Apache Shiro为权限授权层,Ehcahe对常用数据进行缓存,Activit为工作流引擎等。

        前端集成Bootstrap4 metronic框架,UI响应式、扁平化布局,适应所有PC、Pad、Anroid、ios 移动设备等。

        Jeesz主要定位于互联网企业架构,已内置企业信息化系统的基础功能和高效的代码生成工具,包括:系统权限组件、数据权限组件、数据字典组件、核心工具 组件、视图操作组件、工作流组件、代码生成等。采用分层设计、双重验证、提交数据安全编码、密码加密、访问验证、数据权限验证。

        Jeesz目前包括以下模块项目,后台系统管理系统,RestFul独立服务系统、Scheduler定时调度系统、内容管理(CMS)系统、在线办公(OA)系统、我的待办(Task服务)、我的收藏(Bookmark服务)。

        后台管理系统包括企业组织架构(用户管理、机构管理、区域管理)、菜单管理、角色权限管理、字典管理等功能;

        RestFul独立提供标准Rest服务API,您可以快速实现自己的业务,提供需要的服务;

        Quartz定时调度系统可以动态配置您的任务规则等;

        内容管理(CMS)系统,包括内容管理,栏目管理、站点管理、公共留言、文件管理、前端网站展示等功能;

        在线办公(OA)系统,主要提供简单的流程实例。

        Jeesz提供了常用工具进行封装,包括日志工具、缓存工具、服务器端验证、数据字典、当前组织机构数据(用户、机构、区域)以及其它常用小工具等。另外 还提供一个强大的在线 代码生成 工具,此工具提供简单的单表、一对多、树结构功能的生成,如果对外观要求不是很高,生成的功能就可以用了。使用了Jeesz基础框架,可以提高快速开发效 率。

 

4.    内置功能(只列了一部分功能)
    1.用户管理:用户是系统操作者,该功能主要完成系统用户配置。
    2.机构管理:配置系统组织机构(公司、部门、小组),树结构展现,可随意调整上下级。
    3.区域管理:系统城市区域模型,如:国家、省市、地市、区县的维护。
    4.菜单管理:配置系统菜单,操作权限,按钮权限标识等。
    5.角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
    6.字典管理:对系统中经常使用的一些较为固定的数据进行维护,如:是否、男女、类别、级别等。
    7.操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
    8.连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
    9.工作流引擎:实现业务工单流转、在线流程设计器。

 

5.    开发工具
    1.Eclipse IDE:采用Maven项目管理,模块化。
    2.代码生成:通过界面方式简单配置,自动生成相应代码,目前包括三种生成方式(增删改查):单表、一对多、树结构。生成后的代码如果不需要注意美观程度,生成后即可用。

 

6.    技术选型(只列了一部分技术)
    1、后端
        服务框架:Dubbo、zookeeper、Rest服务
        缓存:Redis、ehcache
        消息中间件:ActiveMQ
        负载均衡:Nginx
        分布式文件:FastDFS
        数据库连接池:Alibaba Druid 1.0
        核心框架:Spring framework
        安全框架:Apache Shiro 1.2
        视图框架:Spring MVC 4.0
        服务端验证:Hibernate Validator 5.1
        布局框架:SiteMesh 2.4
        工作流引擎:Activiti 5.15
        任务调度:quartz 1.8.5
        持久层框架:MyBatis 3.2
        日志管理:SLF4J 1.7、Log4j
        工具类:Apache Commons、Jackson 2.2、Xstream 1.4、Dozer 5.3、POI
    2、前端
        JS框架:JQuery 1.9。
        CSS框架: Bootstrap 4 metronic
        客户端验证:JQuery Validation Plugin。
        富文本:CKEcitor
        文件管理:CKFinder
        动态页签:Jerichotab
        数据表格:jqGrid
        对话框:jQuery jBox
        树结构控件:jQuery zTree
        其他组件:Bootstrap 4 metronic
    3、支持
        服务器中间件:Tomcat 6、7、Jboss 7、WebLogic 10、WebSphere 8
        数据库支持:目前仅提供mysql数据库的支持,但不限于数据库,下个版本升级多数据源切换和数据库读写分离: 如:Oracle、SqlServer、H2等
        支持开发环境:Eclipse、MyEclipse、Ras、Idea等

 

环境搭建:

1.环境准备

   1.开发工具: Eclipse IDE(建议使用高一点的版本)

   2.JDK版本:JDK1.7

   3.项目管理: Maven3.1.1

2.安装步骤
   1.安装jdk1.7并配置环境变量(相信大家都会做,这里不再做重复的说明)

   2.安装maven:maven安装过程就是解压缩的过程(我已经帮大家解压了, 目录:E:\myprj\jeesz-maven\apache-maven-3.1.1),为了方便大家,这边已经提供了相关的安装包,会在打包的目录下共享。

   3.mavan配置环境变量,右击我的电脑属性高级系统设置环境变量找到(系统变量path),在最前面输入你的maven安装包路径,声明:因为上一步解压了指定的目录,所以配置如下:

E:\myprj\jeesz-maven\apache-maven-3.1.1\bin;

相信大家都有配过环境变量,如果您不是很清楚,请查询相关资料,了解一下maven的相关知识。

   4.打开 cmd,在里面敲:mvn –version,出现以下结果说明你maven安装成功了

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

mvn 是 maven 的一个指令,mvn-version 是查看版本信息,我的操作系统是 64位的WIN7,安装的 maven 是 3.1.1,如果能打印如上信息,说明到此 Maven3 已经在你的电脑上安装完成。


  5.建工作空间(进入后选中j2ee视图)

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

 

  6.配置Eclipse编码为UTF-8
  Eclipse工具栏中选择Window》Prefrences》General》Workspace

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

7.配置jre环境(之前大家需要安装了jdk1.7版本,这里就使用安装好的jdk进行配置):
选择Window》Prefrences》java》Installed JREs》Edit》选择自己本地jdk安装路径》Finished》OK

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

 

8.去除JavaScript的验证等信息(因为项目中大量使用js、css、Window》Prefrences》Validation》Suspend all validators》ok

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

 

9. 修改刚刚安装的maven settings.添加本地库地址:<localRepository>E:/myprj/jeesz-maven/apache-maven-3.1.1/repository</localRepository>
修改中央库路径(在网络正常的情况下,可以从远程中央库下载缺失的jar包,我这里使用了Oschina的中央库,如果网络有问题,
大家可以使用自己公司的私服进行加载相关jar包),考虑到大家包有时候下载不下来,我这里也给大家共享了项目所需要的jar包,全部放到了以下目录:
E:/myprj/jeesz-maven/apache-maven-3.1.1/repository

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

10.  Eclipse中配置maven安装目录和Setting文件加载的本地库目录

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

 

11.导入Maven项目
File》Import》Existing Maven Projects》下一步

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

 

选择你本地的maven项目(请选中jeesz-project根目录),点击确定

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

加载出来所有项目后,点击finish完成

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

提醒:这个导入的过程要一段时间,因为我本地连接网络,所以会从远程中央库下载项目所需要的所有的jar包,请大家耐心等候。
如果你使用了本地库则不需要等待很长时间,如果是使用公司私服,则等待时间也不会很长。


导入后的项目信息

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

本地库的包已经下载了

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

12.下载完所有jar包,更新maven项目:

1)选中所有项目 2) 右键选择maven》Update project 选择所有》勾选关联项》点击ok

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

如果项目还出现红X错误,则必定是缺少相关的jar包,可以使用:
Window》showView》problem窗口查看异常信息

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ
如果缺少jar包,可以将我们提供的jar包直接copy到你指定目录即可

待项目里面的所有错误全部清零后才能进行下一步工作(如下图所示)
选中所有项目,对项目进行清理:Project》clean

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

13.    尝试对项目进行编译、打包看是否有问题:
注意:一般我们打包编译是针对于根项目,因为里面配置了所有的依赖关系。右键jeesz-project》Run As》Maven build…

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

在弹出的对话框中录入clean install –X 命令,勾选Skip tests,Run…
提醒:如果对maven命令不是很熟的,可以去查下相关的资料
这边简单做下解释: clean install –X 表示清理所有项目并将jar包装载到本地库,其中-X表示输出的信息(一般在出现maven问题的时候可以使用-X来定位问题。)

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

此时控制台开始编译装载所有的包,这个过程有点漫长,请大家耐心等候

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

出现以下结果说明项目是正常的。

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

打好的包(包含war、jar),都在target文件夹下,这边只以jeesz-web-admin为实例截图如下:

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

14.Tomcat发布jeesz项目(发布过程不做详细介绍,大家都会做):
下面对各个不同的项目进行介绍:

Jeesz-web-admin: 可以独立部署(后台管理平台)

Jeesz-web-service:可以独立部署(REST服务平台,客户可以根据自己的业务去拓展Rest服务,里面已经写好了相关的实例)

Jeesz-service-bookmark、jeesz-service-task为dubbo服务提供者(这边只通过收藏和待办项目来对dubbo服务项目开发做相关介绍,客户可以根据自己的业务去拓展dubbo服务,可以同时部署,也可以拆分部署)

Jeesz-web-bookmark、jeesz-web-task为dubbo消费者平台,其中dubbo服务对外暴漏的服务接口为:Jeesz-facade-bookmark、jeesz-façade-task(这边只通过收藏和待办项目来描述dubbo客户端怎样调用dubbo服务提供者的过程,客户可以将dubbo消费端植入到不同的项目中,只需要做一些简单配置就可以了)

部署条件:

1)  执行mysql数据库脚本:  jeesz.sql

数据库jdbc的配置项可以参考

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

2)  Jeesz-web-admin可以直接通过tomcat部署

登陆用户名密码:jeesz/admin

3)  Jeesz-web-service:可以通过tomcat独立部署

登陆用户名密码:jeesz/admin

部署dubbo相关的项目需要具备以下条件

>安装dubbo管控平台,将war包解压到tomcat,并将目录替换为根目录,直接启动tomcat即可(开发环境提供window)

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

>Zookeeper注册中心安装,我这边提供了zookeeper-3.4.5版本(开发环境提供window),进入安装目录启动即可

了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

提醒: 我这边已经给提供了相关的程序,其中dubbo管控平台要独立部署在Tomcat服务器上,这个不需要进行高可用配置,直接启动tomcat就可以启动。Zookeeper注册中心有相关的命令可以直接运行启动。如果想部署在linux系统上,可以看我们提供的相关文档即可

5)  待dubbo管控台和注册中心启动ok,则将Jeesz-service-bookmark、jeesz-service-task项目同时(可以独立部署)部署到tomat中,为dubbo服务提供者

6)  登陆dubbo管控台查看相关的服务信息,可以看到你发布的服务已经由管控台进行管控了:

http://localhost:8080/root

直接通过地址可以访问是因为将包名改为了Root

用户名密码:root/root

7)  分部部署Jeesz-web-bookmark、jeesz-web-task  dubbo消费者项目,目的是让开发人员了解服务是怎样调用的。

到此整个项目的安装过程先到这里,请各位开发人员安装完项目后投入开发,所有的业务直接服务化,因为项目是基于驱动开发的,故将你们的表设计好,通过jeesz-web-admin项目的gen代码生成模块自动生成所有的controller、service、dao、、jsp界面等,直接进行业务编写处理。近期会不断的完善文档,请时刻关注。

 

如果有朋友愿意了解项目更多的信息,请直接到我博客列表:

http://2137028325.iteye.com/

 

 

声明:该框架面向企业,是大型互联网分布式企业架构,后期会介绍linux上部署高可用集群项目。

有愿意了解框架技术或者源码的朋友直接加Q(2137028325)一起学习






原标题:了解分布式架构 Maven Springmvc mybatis shiro Druid Restful,Dubbo ZooKeeper,Redis,FastDFS ,ActiveMQ

关键词:Spring

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

美国海外仓仓库:https://www.goluckyvip.com/tag/38206.html
美国海外仓仓库地址:https://www.goluckyvip.com/tag/38207.html
美国海外仓出口易:https://www.goluckyvip.com/tag/38208.html
美国海外仓储服务:https://www.goluckyvip.com/tag/38209.html
美国海外仓代发:https://www.goluckyvip.com/tag/38210.html
美国海外仓代发货:https://www.goluckyvip.com/tag/38211.html
23点聊电商:新质生产力加速数字贸易发展 卓尔智联集团实现营收利润双增长 :https://www.kjdsnews.com/a/1836411.html
南京浦口都有什么好玩的地方 南京浦口都有什么好玩的地方推荐:https://www.vstour.cn/a/363180.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流