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到远程服务器,远程分支与本地分支同名(固然能够随意起名)