开源两个spring api项目

转载请注明出处: https://www.cnblogs.com/funnyzpc/p/13762616.html

  工作也有五年有余了,中间一直迫于时间或能力没从零开始构建一个完整的项目,实在太过于遗憾。
现在,我决定把这个遗憾弥补上了,尽管这些并不是很完美,尤其是组件在实际业务需求的时候也没法尽善尽美,不过这些总会有个循序渐进的阵痛期
不过我已经做好准备,同时也希望在这条路上有更多的愿意分享的同行,在这里我先感谢哈。现在,Let's start ‍

第一个框架

这是一个基于springboot2.3的简单api项目,项目主要面向的是对外接口服务,由于api项目的特殊性,所以代码并没有构建页面相关功能

  • 框架地址

  • 项目基础文档

  • 本项目自带的核心功能

    • spring core 核心框架(IOC、AOP)
    • Transation spring事务
    • schedule spring定时任务(可跟进需要开启)
    • Async 异步业务调用(可跟进业务情况开启使用)
    • undertow 基于nio的高性能web容器
    • 基于Mybatis的Dao框架(本项目并没有通过接口代理的形式使用)
  • 本项目拓展封装功能

    • Jackson序列化功能

      • JacksonUtil
    • 分布式ID生成器功能(仅为抛砖引玉之作,需根据实际需求修改)

      • SeqGenService and SeqGenUtil
    • 基于新日期LocalDataTime&DateTimeFormatter封装的日期类

      • DateUtil
    • 功能entity封装(主要还是围绕自动主键生成而开发的)

      • BaseEntity
    • 基础相应类封装(统一响应格式并开放自定义message)

      • ResultBuild

这些功能目前都是经过项目实战的,当然还有其它的封装结果,这里就不用细细说了。

第二个框架

这个项目大部分同以上介绍的第一个框架大致相同, 这个项目仅仅对于数据源的使用上提供了更高的要求,下面具体介绍

  • 项目地址

  • 项目基础文档

  • 本框架核心功能

    • (同上)
    • 引入了neo4j作为多数据源事务管理框架
      • 具体请见 AllTransactionConfigurationTmpTest 测试用例
    • 数据源
      • `Mysql PostgreSQL Oracle
  • 拓展及封装功能

    • 包含第一个框架的基础封装及功能

    • 多数据源手动配置,理论上可添加到两位数的数据源的个数

      • DB1Configuration DB2Configuration DB3Configuration
    • 对于有分页需求的DAO操作 添加了物理分页功能

      • PageInterceptor Page`
    • 对于Oracle字段大写问题封装映射类

      • MapOrclBean

    Thus,我就介绍到这里,欢迎starfork ,更欢迎各位提提建议或issue ,共同进步哈 ヽ(≧□≦)ノ

开源两个spring api项目的更多相关文章

  1. IntelliJ 启动不同端口的两个spring cloud项目

    IntelliJ 启动不同端口的两个spring cloud项目 1,使用maven进行clean package 2,在Terminal界面,输入java -jar xxx.jar --server ...

  2. 两个spring boot项目war部署到tomcat 其中一个无法正常启动

    Spring Boot的spring.jmx资源管理是默认打开的,而两个项目同时使用会冲突 需要在第二个.或者第三个springboot项目中增加如下配置: 1:application.propert ...

  3. 1024|推荐一个开源免费的Spring Boot教程

    2020-1024=996! 今天,星期六,你们是否加班了?我反正加了!早上去公司开了一早上会,中午回家写下了这篇文章. 今天,我要推荐一个开源免费的Spring Boot项目,就是我最近日更的Spr ...

  4. 只需两步!Eclipse+Maven快速构建第一个Spring Boot项目

     随着使用Spring进行开发的个人和企业越来越多,Spring从一个单一简介的框架变成了一个大而全的开源软件,最直观的变化就是Spring需要引入的配置也越来越多.配置繁琐,容易出错,让人无比头疼, ...

  5. Spring Security 之API 项目安全验证(基于basic-authentication)

    ===================================Basic Authorization 规范===================================Request ...

  6. Spring Boot 项目学习 (四) Spring Boot整合Swagger2自动生成API文档

    0 引言 在做服务端开发的时候,难免会涉及到API 接口文档的编写,可以经历过手写API 文档的过程,就会发现,一个自动生成API文档可以提高多少的效率. 以下列举几个手写API 文档的痛点: 文档需 ...

  7. Spring cloud项目实践(一)

    链接地址:http://sail-y.github.io/2016/03/21/Spring-cloud%E9%A1%B9%E7%9B%AE%E5%AE%9E%E8%B7%B5/ 什么是Spring ...

  8. Spring Boot项目使用Swagger2文档教程

    [本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 前言 Sprin ...

  9. Spring Boot 项目转容器化 K8S 部署实用经验分享

    转载自:https://cloud.tencent.com/developer/article/1477003 我们知道 Kubernetes 是 Google 开源的容器集群管理系统,它构建在目前流 ...

随机推荐

  1. python - 平方根格式化 + 字符串分段组合

    题目来源:python123 平方根格式化 描述 获得用户输入的一个整数a,计算a的平方根,保留小数点后3位,并打印输出.‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪ ...

  2. PHP - 附件下载

    <?php $file_name = "textuse.zip";//下载文件名 $file_dir = "E:/www/xiazaiwenjian/"; ...

  3. JS数组遍历的十二种方式

    遍历有如下几种方式 数组方法 map forEach filter find findIndex every some reduce reduceRight 其他方法 for for in for o ...

  4. Android开发之使一打开activity等界面Edittext获取焦点,弹出软键盘java代码实现

    // 获取编辑框焦点 editText.setFocusable(true); //打开软键盘 IInputMethodManager imm = (InputMethodManager)getSys ...

  5. 初学WebGL引擎-BabylonJS:第1篇-基础构造

    继续上篇随笔 步骤如下: 一:http://www.babylonjs.com/中下载源码.获取其中babylon.2.2.js.建立gulp项目

  6. Macbook Pro HDMI 无信号解决办法

    因为CS:GO无法启动的问题,使用过了下面的命令 sudo pmset -a GPUSwitch 0 导致HDMI显示器无信号 输入下面的代码 sudo pmset -a GPUSwitch 1 可以 ...

  7. 分布式ID生成方案汇总

    1.目标 1.1.全局唯一 不能出现重复的ID,全局唯一是最基本的要求. 1.2.趋势有序 业务上分页查询需求,排序需求,如果ID直接有序,则不必建立更多的索引,增加查询条件. 而且Mysql Inn ...

  8. 关于非标准json格式转变为json对象

    eval('(' + tempData + ')') 只需要这一句

  9. pycharm写的代码提交到git上,提示需要merge失败时解决办法

    当遇到pycharm代码提交需要合并报错时 原因:pycharm目录和git中目录冲突了 解决办法:1.先在git仓库中创建一个文件夹,比如day1 2.然后在pycharm中update一下,可以看 ...

  10. oracle之DML和DDL语句的其他用法

    DML和DDL语句的其他用法 17.1 DML语句-MERGE 作用:把数据从一个表复制到另一个表,插入新数据或替换掉老数据. Oracle 10g中MERGE有如下一些改进: 1.UPDATE或IN ...