Java new ecological application development framework, smaller, faster, simpler!
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
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)
- Homemade IOC/AOP container
- 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
- Allows business plug-ins for "hot plugging" and "hot unloading"
- Supports GraalVm Native packaging
<parent>
<groupId>org.noear</groupId>
<artifactId>solon-parent</artifactId>
<version>2.2.15</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!";
}
}
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) |
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 address:https://solon.noear.org
- Official website supporting demos:https://gitee.com/noear/solon-examples
- Project unit test:__test
- Project more feature examples:solon_demo 、 solon_api_demo 、 solon_rpc_demo 、 solon_socketd_demo 、 solon_cloud_demo 、 solon_auth_demo