Skip to content

一套开源轻量级的服务器解决方案,包含orm框架、TCP服务器、应用层服务器以及安全框架等,目前可以运行一个博客网站,还存在很多bug和性能问题,欢迎Coder们一起来研究,做一个自己的框架

License

Notifications You must be signed in to change notification settings

JasirVoriya/dark-one

Repository files navigation

DarkOne

DarkOne

✨ 轻量级Java服务器框架 ✨

license Java site
onebot github
QQ Chat Group


什么是DarkOne

✨DarkOne,一个应用,一套解决!✨
一套开源轻量级的服务器解决方案,包含orm框架、TCP服务器、应用层服务器以及安全框架等,目前可以运行一个博客网站,欢迎Coder们一起来研究,做一个自己的框架,一起交流技术!

image-20230511121903149

特色

  • 轻量级:专注服务器开发,架构更轻巧,让你的项目更小
  • 易于开发:学习成本低,基于Spring、Netty的使用习惯开发,代码编写上手简单
  • 海纳百川:一个框架,可自定义通信协议,可支持各种应用

镜像站

如果github卡顿,可以访问下面的Gitee国内镜像站
Github 传送门
Gitee 传送门

模块介绍

byte-bye

✨ ByteBye,发送你的数据,和你的数据君一路走好! ✨
一个想写成类似于Netty一样的轻量级网络服务器,基于JavaNIO,使用React主从模式开发,可以自定义应用层协议解析器,目前已经编写了一个Http的协议解析器。
目前能够基于http搭建web应用,但是还存在一些bug和性能问题。

byte-hi

✨ByteHi,哈喽哈喽,数据君你来啦,来了就别走了!✨
一个轻量级的半自动化ORM框架,简单易用,基于连接池封装开发。

web-mvc

✨高效,简洁易上手的webmvc框架! ✨
基于SpringMVC的使用习惯开发的MVC框架,如果你熟悉Spring搭建web应用,那么你基本上可以零成本上手该框架。

下面是一个例子:

import cn.darkone.entity.vo.ResultMessage;
import cn.darkone.utils.ResultUtil;
import cn.darkone.entity.dao.Member;
import cn.darkone.entity.enums.Sex;
import cn.darkone.framework.common.security.annotations.AccessLimit;
import cn.darkone.framework.common.web.annotations.GetMapping;
import cn.darkone.framework.common.web.annotations.PostMapping;
import cn.darkone.framework.common.web.annotations.RequestMapping;
import cn.darkone.framework.common.web.annotations.RestController;

import java.util.Arrays;

@RestController
@RequestMapping("/test")
public class TestController {

    @AccessLimit(seconds = 60, maxCount = 10, needLogin = false)
    @GetMapping({"/login", "/register"})
    @PostMapping({"/login", "/register"})
    public ResultMessage<Member> login(String account, String password, Integer code) {
        return ResultUtil.data(new Member(account, password, code, null, null, null));
    }

    @AccessLimit(seconds = 60, maxCount = 10, needLogin = false)
    @GetMapping({"/member"})
    @PostMapping({"/member"})
    public ResultMessage<Member> member(Member member) {
        return ResultUtil.data(member);
    }

    @GetMapping({"/array1"})
    public ResultMessage<Object> array1(int[] nums, Integer[] counts) {
        System.out.println(Arrays.toString(nums));
        System.out.println(Arrays.toString(counts));
        return ResultUtil.success();
    }

    @GetMapping({"/array2"})
    public ResultMessage<Object> array2(int[] nums, Long[] counts) {
        System.out.println(Arrays.toString(nums));
        System.out.println(Arrays.toString(counts));
        return ResultUtil.success();
    }

    @GetMapping({"/array3"})
    public ResultMessage<Object> array3(boolean[] nums, Boolean[] counts) {
        System.out.println(Arrays.toString(nums));
        System.out.println(Arrays.toString(counts));
        return ResultUtil.success();
    }

    @GetMapping({"/enums"})
    public ResultMessage<Sex> enums(Sex sex) {
        return ResultUtil.data(sex);
    }
}

web-server-demo

使用本项目框架所搭建的一个web网站,是我大一写过的一个博客网站,现在移植到这个项目里了,目前只有静态网页。

image-20230511121737136

About

一套开源轻量级的服务器解决方案,包含orm框架、TCP服务器、应用层服务器以及安全框架等,目前可以运行一个博客网站,还存在很多bug和性能问题,欢迎Coder们一起来研究,做一个自己的框架

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published