Fortune Commons 是筆者在工做以來的一些技術積累,雖然是很[低端],可是對於Java入門或者初入Java開發的工做者來講,也是一個不錯的學習資源,今天特意整合出來。
Github地址:https://github.com/landy8530/...git
項目深受Java 勸退師,Apache 和 Spring Cloud 等知名開源架構成員小馬哥(Github: mercyblitz)的思想影響,本項目採用瞭如今廣泛採用的自動化配置、註解化開發等特色,開發過程很是的便利。代碼以下所示:程序員
/** * @author: Landy * @date: 2019/4/7 00:04 * @description: WebApplicationContext配置類,須要根據具體的業務邏輯進行配置,好比緩存門面類的配置 * 須要在web端工程裏具體配置 */ @Configuration @EnableAspectJAutoProxy // 至關於 xml 中的 <aop:aspectj-autoproxy/> @EnableTransactionManagement // 開啓註解事務 @Import({BeanInitializeCompletedConfiguration.class}) public class RootApplicationContextConfiguration { // 配置DataCacheFacade @Bean(name = DataCacheFacade.BEAN_NAME_DATA_CACHE_FACADE) public DataCacheFacade dataCacheFacade() { DataCacheFacade dataCacheFacade = new DataCacheFacade(); List<CacheDataLoadAdapter> cacheDataAdapterList = new ArrayList<>(); cacheDataAdapterList.add(new CodeCacheDataLoadAdapter()); dataCacheFacade.setCacheDataAdapterList(cacheDataAdapterList); return dataCacheFacade; } public class CodeCacheDataLoadAdapter extends CacheDataLoadAdapter { private List<String> keys=new ArrayList<String>(); @Override public boolean loadData() { ... return true; } @Override public List<String> getStoreKeys() { return keys; } } }
因爲絕大多數程序員都是命苦的娃,都但願有朝一日可以經過代碼改變本身的命運,因此我爲此項目定了一個fortune的名稱,但願咱們你們都可以經過代碼改變世界(哈哈)!github
爲適應目前國內各個行業不一樣的技術分佈,目前計劃三個大版本的計劃,說明以下:web
版本 | 功能說明 |
---|---|
1.x | 數據緩存處理和excel/pdf導出組件,集成Spring MVC |
2.x | 數據緩存處理和excel/pdf導出組件,集成Restful API |
3.x | 數據緩存處理和excel/pdf導出組件,集成Restful API,而且計劃加入Spring Boot/Spring Cloud等 |
注意:以上各個版本均可以增長其餘組件。spring
目前最新版本爲v1.0.x,含有如下子工程(子模塊),分別說明以下(也可參考wiki):sql
主要是本項目所需的一些核心功能實現,好比BeanCopier工具封裝,讀取yml文件工具,Freemarker解析實現,ApplicationContext工具類,Spring容器初始化後統一操做的listener實現以及其餘一些工具類支持。數據庫
本模塊動態實現了各主流緩存中間件的實現,能夠自由切換,依賴於commons-nosql模塊。目前實現瞭如下幾種:segmentfault
NoSql模擬關係型數據庫的CRUD操做,目前有Mongodb實現。緩存
實現了excel和pdf導出組件服務器
封裝了web端常見的一些配置操做
封裝了spring mvc的一些配置操做,依賴於commons-web子模塊。
本項目的演示模塊,主要是用於測試用途。
初始想法源於本身工做中遇到的各類坑,主要目的是爲了經過這個開源平臺來幫助一些在學習 Java 或者直接在本身公司中使用或者擴展本身的項目。
fork本工程後能夠按照以下操做便可,
切換到master分支,而且更新最新遠程庫中的代碼
建立本身的本地分支,以master爲源建立
查看是否建立成功
fortune-commons-beanutils * fortune-commons-export fortune-commons-memcached master
星號(*)表示當前所在分支。如今的狀態是成功建立的新的分支而且已經切換到新分支上。
把新建的本地分支push到遠程服務器,遠程分支與本地分支同名(固然能夠隨意起名)