開源項目名稱:
osframe管理系統
託管地址:
http://git.oschina.net/haizicq/osframe
主要技術:
spring mvc、spring、hibernate、angular js、seajs、bootstrap、shiro
框架介紹:
本框架是一個基礎後臺開發框架,基於springmvc+spring+hibernate搭建,前端採用angular js+sea js +bootstrap展示,基於shiro的權限管理和登錄控制。基礎框架中包含了用戶管理、權限管理等基礎模塊,提供了簡單的首頁門戶,能夠快速的實現新項目的搭建。
框架特點:
支持電腦和手機界面的自動智能切換。前端
技術交流羣:330710190(OSFrame技術交流羣) 歡迎你們加入,共同探討使用過程當中的問題。java
框架基本構思:
一、基本思路:使用模塊化的思想來開發項目,按模塊進行開發,以便於代碼管理和移植。
二、基礎增刪改查封裝:子模塊中的類繼承基礎模塊中封裝的基礎方法就能直接實現基礎的增刪改查功能
三、權限註解:經過註解的方式實現功能權限控制,直接開發中實現,而沒必要在項目實施中去糾結功能url配置
四、設備自適應展現:前端頁面自動適配設備屏幕尺寸展現,只須要引入公共的頁面頭部和尾部jsp片斷
五、模塊耦合處理:爲了減小模塊間的耦合關係將一些基礎的功能抽象爲接口,由對應的子模塊實現,其餘模塊只須要依賴基礎框架模塊,這樣很是便於更換模塊git
架構決策:
一、後端採用主流的springmvc+spring+hibernate架構,可快速實現增刪改查,雖hibernate在大數據處理上有必定的性能問題,但通常數據量的功能上是徹底能夠採用的,而通常項目中數據量也不會很是大,就算數據量大也只存在於少部分表中,因此總體項目框架仍是推薦採用hibernate,當須要使用大數據量業務時再集成mybatis進來處理。若是多數表數據都很是大的話,就不推薦使用本框架了。
二、權限控制採用shiro框架,小而簡單的實現登錄和權限控制
三、bootstrap作頁面UI框架,在適配屏幕方面有很不錯的表現
四、angular js 是一個優秀的單頁面框架,項目本着構建一個沒有那麼多frame嵌套的框架,這是一個很不錯的選擇。 另外一方面它的指令功能,至關於後端的標籤功能,很是便於開發不少通用功能,而沒必要像java taglib那樣跟java代碼依賴,不便於移植。
五、sea js 當時也在考慮requirejs,多是受到:RequireJS 是沒有明顯的 bug,seajs 是明顯沒有 bug。這句話的蠱惑吧,因爲angular js須要一次性的加載完全部的js,這顯然不利於大型項目模塊的開發,因此引進seajs實現按需加載模塊。web
當前功能模塊
一、用戶管理(users)
二、權限控制(auth)
三、用戶登錄(login)
四、樣例參考模塊(demo)spring
框架代碼模塊
一、工具類模塊(util)
二、基礎框架模塊(framework)
三、標籤模塊(taglib)
四、用戶管理(users)
五、權限控制(auth)
六、用戶登錄(login)
七、樣例參考模塊(demo)bootstrap
模塊間的依賴
一、util模塊爲框架提供工具類,不依賴與框架任何模塊,若是須要依賴框架功能的工具類,放到框架或模塊的util包中
二、framework模塊爲框架基礎模塊,僅依賴於util模塊
三、taglib模塊爲項目提供標籤框架,依賴 util和framework
四、用戶管理 依賴於:util和framework
五、權限管理 依賴於:util、framework、用戶管理
六、用戶登錄 依賴於:util和framework
七、樣例參考模塊 依賴於:util、framework、用戶管理
八、web-view 依賴於:全部項目模塊,另taglib標籤模塊通常只有web展示層依賴後端