iBase4j项目搭建
iBase4j是一個(gè)Java分布式開(kāi)發(fā)平臺(tái),整合了目前Java開(kāi)發(fā)常用的開(kāi)發(fā)框架,官網(wǎng)上介紹如下:
- iBase4J是Java語(yǔ)言的分布式系統(tǒng)架構(gòu)。 使用Spring整合開(kāi)源框架。
- 使用Maven對(duì)項(xiàng)目進(jìn)行模塊化管理,提高項(xiàng)目的易開(kāi)發(fā)性、擴(kuò)展性。
- 系統(tǒng)包括5個(gè)子系統(tǒng):公共功能、系統(tǒng)管理Service、系統(tǒng)管理Web、業(yè)務(wù)Service、業(yè)務(wù)Web。
- 公共功能:公共功能(AOP、緩存、基類、調(diào)度等等)、公共配置、工具類。
- 系統(tǒng)管理:包括用戶管理、權(quán)限管理、數(shù)據(jù)字典、系統(tǒng)參數(shù)管理等等。
- 業(yè)務(wù)相關(guān):您的業(yè)務(wù)開(kāi)發(fā)。
- 可以無(wú)限的擴(kuò)展子系統(tǒng),子系統(tǒng)之間使用Dubbo或MQ進(jìn)行通信。
項(xiàng)目地址:?https://github.com/iBase4J/iBase4J
碼云地址:?https://gitee.com/iBase4J/iBase4J
參考資料:?http://blog.csdn.net/u012225679/article/details/73849357
搭建iBase4j項(xiàng)目需要用到的工具如下:
- 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.項(xiàng)目結(jié)構(gòu)
首先下載iBase4j項(xiàng)目,解壓后的文件結(jié)構(gòu)如下
iBase4J是一個(gè)分布式系統(tǒng)架構(gòu),每個(gè)模塊都是一個(gè)單獨(dú)的系統(tǒng),每個(gè)系統(tǒng)可以發(fā)布多個(gè)service,不同的web間使用相同的redis緩存保證session相同,目前項(xiàng)目下有8個(gè)子項(xiàng)目:iBase4J-Common、iBase4J-SYS-Facade、iBase4J-SYS-Service、iBase4J-SYS-Web、iBase4J-Biz-Facade、iBase4J-Biz-Service、iBase4J-Biz-Web、iBase4J-UI。
- 使用AOP實(shí)現(xiàn)讀寫(xiě)數(shù)據(jù)庫(kù)切換,使用Mybatis持久化框架,使用PageHelper輔助分頁(yè),使用spring注解把數(shù)據(jù)緩存到redis;iBase4J-SYS-Web使用Spring MVC框架管理控制器;使用Shiro輔助管理權(quán)限,權(quán)限嚴(yán)格控制到給個(gè)URL請(qǐng)求。
- 調(diào)度管理,在這里只有調(diào)度的聲明,可以刪除、修改、暫停、啟動(dòng)、執(zhí)行。調(diào)度的實(shí)現(xiàn)可以在別的任意模塊,只需用dubbo暴露服務(wù)即可。調(diào)度支持集群模式。
- 菜單權(quán)限:可以直接配置用戶菜單,也可以通過(guò)配置角色配用戶菜單;sys_user_role配置用戶角色,sys_role_menu配置角色菜單/權(quán)限;操作類權(quán)限(增刪改等)配置為不顯示的菜單;
- 代碼中權(quán)限的控制,如圖
2.環(huán)境搭建
首先需要初始化數(shù)據(jù)庫(kù),新建一個(gè)ibase4j數(shù)據(jù)庫(kù),將項(xiàng)目文件夾sqls下面的三個(gè)sql腳本分別導(dǎo)入數(shù)據(jù)庫(kù)中,導(dǎo)入成功之后數(shù)據(jù)庫(kù)將有如下一下數(shù)據(jù)表
修改service層項(xiàng)目下的resource/config/jdbc.properties數(shù)據(jù)庫(kù)配置文件:
數(shù)據(jù)庫(kù)密碼使用DES加密方法加密,SecurityUtil.encryptDes(“密碼”, ${db.key}.getBytes());??
可以使用SecurityUtil.encryptDes方法加密密碼,db.key 或 druid.key在jdbc.properties中配置
3.運(yùn)行后端項(xiàng)目
1) 分別啟動(dòng) zooKeeper, redis, activemq后臺(tái)服務(wù)
2) 在IDEA中添加如下兩個(gè)maven任務(wù),分別用來(lái)啟動(dòng) sys-service, sys-web項(xiàng)目
| 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) 然后先啟動(dòng) sys-service項(xiàng)目,完成后啟動(dòng)sys-web項(xiàng)目,啟動(dòng)成功之后訪問(wèn)http://localhost:8088/swagger-ui.html可以看到如下swagger-ui.html的restful接口
4) 訪問(wèn)durid??http://localhost:8085/druid? 查看SQL執(zhí)行情況(用戶密碼:druid/druid):
4.運(yùn)行前端項(xiàng)目
目前iBase4j的前端項(xiàng)目是使用AngularJS v1.5.6開(kāi)發(fā)的,并且使用nginx方向代理靜態(tài)頁(yè)面的形式運(yùn)行,為了啟動(dòng)iBase4j的前端項(xiàng)目需要配置nginx,
在nginx的安裝目錄下找到conf文件夾下的nginx.conf文件,按照如下所示配置代理的靜態(tài)頁(yè)面的地址
具體內(nèi)容如下:
| server {????listen?????? 8002;????server_name? localhost;????location / {????????root?? D:\IdeaProjects\iBase4J\iBase4J-UI\iBase4J-UI-AngularJS;????????index? index.html index.htm;?????????????????# 用戶瀏覽器端的緩存設(shè)置?????????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;?????????????}?????????}?????????????????# 動(dòng)態(tài)頁(yè)面,交給tomcat處理?????????if?( !-e $request_filename) {?????????????proxy_pass? http://127.0.0.1:8088;?????????}????}?} |
啟動(dòng)nginx服務(wù)器,?nginx.exe -c .\conf\nginx.conf??然后訪問(wèn)?http://localhost:8002?地址就可以看到iBase4j的前端頁(yè)面了,用戶名密碼:admin/111111
總結(jié)
以上是生活随笔為你收集整理的iBase4j项目搭建的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Ubuntu系统安装
- 下一篇: [Robot Framework] 怎么