1 Star 0 Fork 564

aisan / solon

forked from OpenSolon / solon 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README_EN.md 6.69 KB
一键复制 编辑 原始数据 按行查看 历史
西东 提交于 2023-07-25 20:40 . 2.4.1


Solon v2.4.1

Java new ecological application development framework, smaller, faster, simpler!

https://solon.noear.org

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


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

Startup is 5 to 10 times faster; QPS is 2 to 3 times higher; runtime memory is saved by 1/3 to 1/2; packaging can be reduced to 1/2 to 1/10


Introduction:

Build from scratch. It has its own standards and norms and open ecology. Combination of different ecological plug-ins to meet different needs, convenient customization, rapid development:

  • Restraint, simplicity, efficiency, openness and ecology
  • Supports JDK8, JDK11, JDK17, JDK20
  • Http, WebSocket, Socket three signal unified development experience (commonly known as: three-source integration)
  • Supports "annotation" and "manual" modes, freely controlled as needed
  • Not Servlet, can adapt to any basic communication framework (minimum 0.3m running rpc architecture)
  • Unique IOC/AOP container design. It won't start slowly just because there are more plug-ins
  • Supports Web, Data, Job, Remoting, Cloud, and other development scenarios
  • The two architecture modes are Handler + Context and Listener + Message
  • Emphasizes plug-in extensibility, expandable and swappable, adaptable to different application scenarios
  • Supports GraalVm Native Image packaging
  • Allow service plug-ins to hot-plug, hot-swap, and hot-manage.

Ecosystem Architecture Diagram:

Hello World:

<parent>
    <groupId>org.noear</groupId>
    <artifactId>solon-parent</artifactId>
    <version>2.4.1</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 mode:
            app.get("/hello",(c)->c.output("Hello world!"));
        });
    }
}

//Controller mode: (mvc or rest-api)
@Controller
public class HelloController{
    //Limit Socket method type
    @Socket
    @Mapping("/mvc/hello")
    public String hello(String name){
        return "Hello " + name;
    }
}

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

Main framework and quick integration development packages:

Main framework:
Component Package Description
org.noear:solon-parent Dependency version management
org.noear:solon Main framework
org.noear:nami Companion framework (as solon remoting's client)
Quick integration development packages and relationships:
Component Package Description
org.noear:solon-lib Quick development basic integration package
org.noear:solon-api solon-lib + jlhttp boot;quick development of API applications
org.noear:solon-web solon-api + freemarker + sessionstate;quick development of WEB applications
org.noear:solon-beetl-web solon-api + beetl + beetlsql + sessionstate;quick development of WEB applications
org.noear:solon-enjoy-web solon-api + enjoy + arp + sessionstate;quick development of WEB applications
org.noear:solon-rpc solon-api + nami;quick development of RPC applications
org.noear:solon-cloud solon-rpc + consul;quick development of microservices applications

Official website and related examples:

Special thanks to JetBrains for supporting open-source projects:

JetBrains
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/aisan/solon.git
git@gitee.com:aisan/solon.git
aisan
solon
solon
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891