/solon

🔥 Java 新的生态:更快、更小、更简单!!!启动快 5 ~ 10 倍;qps 高 2~ 3 倍;运行时内存节省 1/3 ~ 1/2;打包可以缩到 1/2 ~ 1/10

Primary LanguageJavaApache License 2.0Apache-2.0


Solon v2.5.12

Java 新的生态型应用开发框架,更小、更快、更简单!

https://solon.noear.org

Maven Apache 2 jdk-8 jdk-11 jdk-17 jdk-21
gitee star github star


语言: 中文 | English | Русский | 日本語

启动快 5 ~ 10 倍;qps 高 2~ 3 倍;运行时内存节省 1/3 ~ 1/2;打包可以缩到 1/2 ~ 1/10


介绍:

从零开始构建。有自己的标准规范与开放生态。组合不同的生态插件应对不同需求,方便定制,快速开发:

  • 克制、简洁、高效、开放、生态
  • 支持 JDK8、JDK11、JDK17、JDK21
  • Http、WebSocket、Socket 三种信号统一的开发体验(俗称:三源合一)
  • 支持“注解”与“手动”两种模式,按需自由操控
  • Not Servlet,可以适配任何基础通讯框架(最小 0.3m 运行rpc架构)
  • 独特的 IOC/AOP 容器设计。不会因为插件变多而启动变很慢
  • 支持 Web、Data、Job、Remoting、Cloud 等任何开发场景
  • 兼顾 Handler + Context 和 Listener + Message 两种架构模式
  • 强调插件式扩展,可扩展可切换;适应不同的应用场景
  • 支持 GraalVm Native Image 打包
  • 允许业务插件“热插”、“热拔”、“热管理”

生态架构图:

你好世界:

<parent>
    <groupId>org.noear</groupId>
    <artifactId>solon-parent</artifactId>
    <version>2.5.12</version>   
</parent>

<dependencies>
    <dependency>
        <groupId>org.noear</groupId>
        <artifactId>solon-web</artifactId>
    </dependency>
</dependencies>
@SolonMain
public class App {
    public static void main(String[] args) {
        Solon.start(App.class, args, app -> {
            //Handler 模式:
            app.get("/hello", c -> c.output("Hello world!"));
        });
    }
}

//Controller 模式:(mvc or rest-api)
@Controller
public class HelloController {
    //限定 Socket 方法类型
    @Socket
    @Mapping("/mvc/hello")
    public String hello(String name) {
        return "Hello " + name;
    }
}

//Remoting 模式:(rpc)
@Mapping("/rpc/")
@Remoting
public class HelloServiceImpl implements HelloService {
    @Override
    public String hello() {
        return "Hello world!";
    }
}

加入到交流群:

QQ交流群:22200020 微信交流群(申请时输入:Solon)

交流群里,会提供 "保姆级" 支持和帮助。如有需要,也可提供技术培训和顾问服务

官网及相关示例、案例:

特别感谢JetBrains对开源项目支持:

JetBrains