{"id":15044573,"url":"https://github.com/truthbean/debbie","last_synced_at":"2025-04-10T00:43:03.899Z","repository":{"id":57729171,"uuid":"176518158","full_name":"TruthBean/debbie","owner":"TruthBean","description":"for microservice","archived":false,"fork":false,"pushed_at":"2024-12-15T14:22:02.000Z","size":6385,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"dev","last_synced_at":"2025-04-10T00:42:57.159Z","etag":null,"topics":["java17","microservice","mvc"],"latest_commit_sha":null,"homepage":"http://www.truthbean.com/debbie","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TruthBean.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-19T13:29:36.000Z","updated_at":"2024-12-15T14:22:07.000Z","dependencies_parsed_at":"2022-09-10T21:50:14.295Z","dependency_job_id":"c04334a9-ee10-4615-89a2-d287e058b943","html_url":"https://github.com/TruthBean/debbie","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TruthBean%2Fdebbie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TruthBean%2Fdebbie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TruthBean%2Fdebbie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TruthBean%2Fdebbie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TruthBean","download_url":"https://codeload.github.com/TruthBean/debbie/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248137998,"owners_count":21053775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java17","microservice","mvc"],"created_at":"2024-09-24T20:50:44.706Z","updated_at":"2025-04-10T00:43:03.883Z","avatar_url":"https://github.com/TruthBean.png","language":"Java","readme":"# NOTE\nThis project is still alive and grow\n\n# debbie\nThis project is target for a microservice project, including IOC, MVC, JDBC, httpclient, test, server and other modules.\nIt 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~~~, \npart of those third-party frameworks supported is merged to debbie-cloud(https://github.com/truthbean/debbie-cloud),\nwhich will be gradually added and completed to make it grow into a complete microservice project.\n\n该项目是从零开始的微服务项目，包含IOC、MVC、JDBC、httpclient、test、server等模块组成，同时支持再jdk、graalvm等运行，\n支持第三方框架，~~~如spring(https://github.com/truthbean/debbie-spring)，\nmybatis(https://github.com/truthbean/debbie-mybatis) 等~~，\n部分第三方框架已经移步到debbie-cloud(https://github.com/truthbean/debbie-cloud)目录中\n后续陆续增加、完善，使其成长为一个完整的微服务项目\n\n## 说明\n    该项目使用Java17开发，为什么不适用kotlin，因为jetbrain开发的ktor框架已经很好用了啊（[滑稽]）；\n    项目包管理采用gradle dsl。\n    项目力求最简化，简单来说，就是能用自己写的尽量自己写；其次要模块界限分明，包引用简单化；\n    使用spi而不是通过optional来引用其他包或项目，不会因为包引入给开发者带来困扰。\n\n## construction\n\n### package引用规范\n尽量使用compileOnly，不要给开发者带来额外的包引用负担\n\n### properties规范\nproperties名称一律小写，第三方框架的properties的key由驼峰换成“-”分割\n\n@PropertyInject 标识的 field，通过setter方法来 注入的\n\n## maven\n[0.0.1-RELEASE package](./versions/0.0.1-RELEASE.md)\n\n[0.0.2-RELEASE package](./versions/0.0.2-RELEASE.md)\n\nlatest version: 0.5.5-RELEASE\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.truthbean\u003c/groupId\u003e\n    \u003cartifactId\u003edebbie-xxx\u003c/artifactId\u003e\n    \u003cversion\u003ex.x.x-RELEASE\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## 目标/TODO\n--------\n~~1. 先实现一个mvc内核~~\n\n~~2. 用servlet实现功能~~\n\n~~3. 集成一个tomcat~~\n\n~~4. 用undertow的httphandler适配接口，不能包含任何servlet接口~~\n\n~~5. 用netty适配接口，不能包含servlet和undertow的接口~~\n\n~~6. 写个example，能更改一个jar依赖就能顺利从tomcat迁移到undertow或netty~~\n\n7. 实现metric功能\n\n~~8. 实现简单的jdbc功能~~\n\n~~9. 基于mvc内核实现httpclient功能~~\n\n~~10. 使用javassist或者ASM增强bean proxy功能~~\n\n~~11. 完善aio模块~~\n\n12. 增加cache功能\n\n~~13. 踩完java11 module的坑..~~\n\n~~14. 适配graalvm，尽量减少反射的使用~~\n\n15. 迁移到java17\n\n16. 待续...\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftruthbean%2Fdebbie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftruthbean%2Fdebbie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftruthbean%2Fdebbie/lists"}