iBase4j项目搭建
iBase4j是一个Java分布式开发平台,整合了目前Java开发常用的开发框架,官网上介绍如下:
- iBase4J是Java语言的分布式系统架构。 使用Spring整合开源框架。
- 使用Maven对项目进行模块化管理,提高项目的易开发性、扩展性。
- 系统包括5个子系统:公共功能、系统管理Service、系统管理Web、业务Service、业务Web。
- 公共功能:公共功能(AOP、缓存、基类、调度等等)、公共配置、工具类。
- 系统管理:包括用户管理、权限管理、数据字典、系统参数管理等等。
- 业务相关:您的业务开发。
- 可以无限的扩展子系统,子系统之间使用Dubbo或MQ进行通信。
项目地址: https://github.com/iBase4J/iBase4J
码云地址:https://gitee.com/iBase4J/iBase4J
参考资料: http://blog.csdn.net/u012225679/article/details/73849357
搭建iBase4j项目需要用到的工具如下:
- Intellij IDEA 2017.3
- nginx 1.13.9
- mysql 5.7.21
- zooKeeper 3.4.10
- redis 3.2.1
- activemq 5.15.3
- maven 3.3.3
1.项目结构
首先下载iBase4j项目,解压后的文件结构如下
iBase4J是一个分布式系统架构,每个模块都是一个单独的系统,每个系统可以发布多个service,不同的web间使用相同的redis缓存保证session相同,目前项目下有8个子项目:iBase4J-Common、iBase4J-SYS-Facade、iBase4J-SYS-Service、iBase4J-SYS-Web、iBase4J-Biz-Facade、iBase4J-Biz-Service、iBase4J-Biz-Web、iBase4J-UI。
- iBase4J-Common是通用配置和工具类,已打成jar包;
- iBase4J-SYS-Facade是iBase4J-SYS-Service和iBase4J-SYS-Web交互需要的façade和model;iBase4J-SYS-Service是系统管理相关的数据库操作服务;
- iBase4J-SYS-Web是连接UI和iBase4J-SYS-Service的桥梁。
- iBase4J-SYS-Web和iBase4J-SYS-Service之间通过dubbo或MQ交互。Web和Service可以创建多个,Web使用相同的spring-session命名空间并注册到相同的redis服务实现session共享,Web通过使用不同的参数调用统一的provider.excute方法实现调用不同的service方法。
- UI是前后端分离的,需要使用nginx反向代理。通过ajax异步请求获取数据;多系统 通过不同前缀 分发到不同web;
- iBase4J-SYS-Service使用Druid连接数据库,可以监控sql执行情况,访问地址:service地址:service端口/druid;
- 使用AOP实现读写数据库切换,使用Mybatis持久化框架,使用PageHelper辅助分页,使用spring注解把数据缓存到redis;iBase4J-SYS-Web使用Spring MVC框架管理控制器;使用Shiro辅助管理权限,权限严格控制到给个URL请求。
- 调度管理,在这里只有调度的声明,可以删除、修改、暂停、启动、执行。调度的实现可以在别的任意模块,只需用dubbo暴露服务即可。调度支持集群模式。
- UI目前计划有3个版本,已开发的只有angularJS版不同UI的菜单不同,所以请根据需要执行对应的SQL菜单;
- iBase4J-Biz-Facade、iBase4J-Biz-Service、iBase4J-Biz-Web为扩展业务功能项目。
- SQL文件见项目中sqls目录;
- 权限控制:
- 菜单权限:可以直接配置用户菜单,也可以通过配置角色配用户菜单;sys_user_role配置用户角色,sys_role_menu配置角色菜单/权限;操作类权限(增删改等)配置为不显示的菜单;
- 代码中权限的控制,如图
2.环境搭建
首先需要初始化数据库,新建一个ibase4j数据库,将项目文件夹sqls下面的三个sql脚本分别导入数据库中,导入成功之后数据库将有如下一下数据表
修改service层项目下的resource/config/jdbc.properties数据库配置文件:
数据库密码使用DES加密方法加密,SecurityUtil.encryptDes(“密码”, ${db.key}.getBytes());
可以使用SecurityUtil.encryptDes方法加密密码,db.key 或 druid.key在jdbc.properties中配置
3.运行后端项目
1) 分别启动 zooKeeper, redis, activemq后台服务
2) 在IDEA中添加如下两个maven任务,分别用来启动 sys-service, sys-web项目
clean package -P build tomcat7:run-war -f pom-sys-service-server.xml
clean package -P build tomcat7:run-war -f pom-sys-web-server.xml
|
3) 然后先启动 sys-service项目,完成后启动sys-web项目,启动成功之后访问http://localhost:8088/swagger-ui.html可以看到如下swagger-ui.html的restful接口
4) 访问durid http://localhost:8085/druid 查看SQL执行情况(用户密码:druid/druid):
4.运行前端项目
目前iBase4j的前端项目是使用AngularJS v1.5.6开发的,并且使用nginx方向代理静态页面的形式运行,为了启动iBase4j的前端项目需要配置nginx,
在nginx的安装目录下找到conf文件夹下的nginx.conf文件,按照如下所示配置代理的静态页面的地址
具体内容如下:
server {
listen 8002;
server_name localhost;
location / {
root D:\IdeaProjects\iBase4J\iBase4J-UI\iBase4J-UI-AngularJS;
index index.html index.htm;
# 用户浏览器端的缓存设置
location ~* \.(css|js|jpg|jpeg|gif|png|swf|htm|html|json|xml|svg|woff|ttf|eot|map|ico)$ {
expires 1h;
if (-f $request_filename) {
break ;
}
}
# 动态页面,交给tomcat处理
if ( !-e $request_filename) {
proxy_pass http: //127.0.0.1:8088;
}
}
}
|
启动nginx服务器, nginx.exe -c .\conf\nginx.conf 然后访问 http://localhost:8002 地址就可以看到iBase4j的前端页面了,用户名密码:admin/111111
iBase4j项目搭建相关推荐
- [转]2020年排名前20的基于SpringBoot搭建的开源项目,帮你快速进行项目搭建!
△Hollis, 一个对Coding有着独特追求的人△ 这是Hollis的第 287 篇原创分享 作者 l Hollis 来源 l Hollis(ID:hollischuang) SpringBoot ...
- 2020年排名前20的基于SpringBoot搭建的开源项目,帮你快速进行项目搭建!
△Hollis, 一个对Coding有着独特追求的人△ 这是Hollis的第 287 篇原创分享 作者 l Hollis 来源 l Hollis(ID:hollischuang) SpringBoot ...
- 超简单的react和typescript和引入scss项目搭建流程
1.首先我们先创建一个react项目,react官网也有react项目搭建的命令 npx create-react-app my-app cd my-app 2.安装我们项目需要的样式依赖,这个项目我 ...
- angular6 mysql_Angular6项目搭建
安装工具: Nodejs, npm 最新版, https://nodejs.org/en/ Angular CLI, npm install -g @angular/cli Visual ...
- webstorm打包rn项目_React 之 项目搭建
阅读本文约需要6分钟 大家好,我是你们的导师,经常看我朋友圈的同学应该知道,我每天会在微信上给大家免费提供以下服务! 1.长期为你提供最优质的学习资源! 2.给你解决技术问题! 3.每天在朋友圈里分享 ...
- 个人博客开发-01-nodeJs项目搭建
// window系统下 1.nodeJs 安装 nodeJs 安装 看 这里 , 先下载再下一步下一步就OK了,我的是在C盘里安装的. 安装完以后 按 win + R ,在弹出的小框框里输入 CM ...
- Spring MVC + Mybatis项目搭建
1.参考<Java Spring MVC项目搭建(一)--Spring MVC框架集成>配置spring mvc需要的jar包及eclipse配置(主要是针对servlet-api.jar ...
- SSM项目搭建一(终)
2019独角兽企业重金招聘Python工程师标准>>> 项目搭建使用的不仅仅只是前面所说的那些,还有一下比如gson或jackson.个人类库.定时器等等,这里就不一一赘述了.下面看 ...
- spring原理案例-基本项目搭建 01 spring framework 下载 官网下载spring jar包
下载spring http://spring.io/ 最重要是在特征下面的这段话,需要注意: All avaible features and modules are described in the ...
- MVVM框架的搭建(二)——项目搭建
介绍完背景以及初衷之后,我们开始搭建MVVM的框架,这一部分我们进行简单的搭建,了解MVVM架构的基本结构. MVVM框架的搭建(一)--背景 MVVM框架的搭建(二)--项目搭建 MVVM框架的搭建 ...
最新文章
- web服务器的文档的部分路径是如何工作的,FinderWeb - 文档中心
- Logback中使用TurboFilter实现日志级别等内容的动态修改
- 【Android 逆向】逆向修改游戏应用 ( 分析应用结构 | 定位动态库位置 | 定位动态库中的修改点 | 修改动态库 | 重打包 )
- linux进程卡住_鸿蒙系统,Linux? Android?
- 25个实用编程小技巧
- Move or commit them before Pull git
- jboss性能指标_JBoss BRMS复杂事件处理(CEP)性能基准
- [学习笔记]半平面交
- 2008不可错过的好莱坞电影
- 马云:创业成功者没有固定模式
- 8254跑马灯c语言程序,C语言笔记-基于C语言实现的流水跑马灯
- 把汇总报表页面生成 pdf文件方案!
- C语言求绝对值的问题
- MS project中的完成百分比、工时完成百分比和实际完成百分比
- 查询条件中含有加号_中国邮储银行信用卡公众号账单查询
- android手机远程视频移动检测的实践
- 小猫爪:i.MX RT1050学习笔记5-中断NVIC
- hadoop问题集(1)
- 从零开始编写SAT求解器(一)
- WebRTC学习笔记五 SDP(Session Description Protocol)
热门文章
- vpp之feature机制介绍
- Win7安装IIS出错,总是提示“出现错误。并非所有的功能被成功更改。”
- java 排队_JAVA实现排队论
- 设计模式学习(四)工厂模式
- 长江大学计算机网络期末考试试题及答案,长江大学计算机基础考试试题
- Android开发指南-窗口小部件(App Widgets)
- Microsoft visual FoxPro使用教程--添加csv文件数据到dbf文件中
- php adodb类库下载,PHP中 ADOdb 类库介绍(二)
- php地图找房代码,vue-baidu-map简单实现地图找房
- 怎么用软件测试PSP硬件,PSP适用FC模拟器从安装到使用全面教程