Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/truthbean/debbie
for microservice
https://github.com/truthbean/debbie
java11 microservice mvc
Last synced: 4 months ago
JSON representation
for microservice
- Host: GitHub
- URL: https://github.com/truthbean/debbie
- Owner: TruthBean
- License: other
- Created: 2019-03-19T13:29:36.000Z (almost 6 years ago)
- Default Branch: dev
- Last Pushed: 2024-09-26T14:27:09.000Z (4 months ago)
- Last Synced: 2024-10-12T15:41:25.066Z (4 months ago)
- Topics: java11, microservice, mvc
- Language: Java
- Homepage: http://www.truthbean.com/debbie
- Size: 6.07 MB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NOTE
This project is still alive and grow# debbie
This project is target for a microservice project, including IOC, MVC, JDBC, httpclient, test, server and other modules.
It also supports running jdk, graalvm, etc., and supports third-party frameworks, ~~~such as spring(https://github. com/truthbean/debbie-spring), mybatis (https://github.com/truthbean/debbie-mybatis), etc~~~,
part of those third-party frameworks supported is merged to debbie-cloud(https://github.com/truthbean/debbie-cloud),
which will be gradually added and completed to make it grow into a complete microservice project.该项目是从零开始的微服务项目,包含IOC、MVC、JDBC、httpclient、test、server等模块组成,同时支持再jdk、graalvm等运行,
支持第三方框架,~~~如spring(https://github.com/truthbean/debbie-spring),
mybatis(https://github.com/truthbean/debbie-mybatis) 等~~,
部分第三方框架已经移步到debbie-cloud(https://github.com/truthbean/debbie-cloud)目录中
后续陆续增加、完善,使其成长为一个完整的微服务项目## 说明
该项目使用Java17开发,为什么不适用kotlin,因为jetbrain开发的ktor框架已经很好用了啊([滑稽]);
项目包管理采用gradle dsl。
项目力求最简化,简单来说,就是能用自己写的尽量自己写;其次要模块界限分明,包引用简单化;
使用spi而不是通过optional来引用其他包或项目,不会因为包引入给开发者带来困扰。## construction
### package引用规范
尽量使用compileOnly,不要给开发者带来额外的包引用负担### properties规范
properties名称一律小写,第三方框架的properties的key由驼峰换成“-”分割@PropertyInject 标识的 field,通过setter方法来 注入的
## maven
[0.0.1-RELEASE package](./versions/0.0.1-RELEASE.md)[0.0.2-RELEASE package](./versions/0.0.2-RELEASE.md)
latest version: 0.5.5-RELEASE
```xml
com.truthbean
debbie-xxx
x.x.x-RELEASE```
## 目标/TODO
--------
~~1. 先实现一个mvc内核~~~~2. 用servlet实现功能~~
~~3. 集成一个tomcat~~
~~4. 用undertow的httphandler适配接口,不能包含任何servlet接口~~
~~5. 用netty适配接口,不能包含servlet和undertow的接口~~
~~6. 写个example,能更改一个jar依赖就能顺利从tomcat迁移到undertow或netty~~
7. 实现metric功能
~~8. 实现简单的jdbc功能~~
~~9. 基于mvc内核实现httpclient功能~~
~~10. 使用javassist或者ASM增强bean proxy功能~~
~~11. 完善aio模块~~
12. 增加cache功能
~~13. 踩完java11 module的坑..~~
~~14. 适配graalvm,尽量减少反射的使用~~
15. 迁移到java17
16. 待续...