A more modern framework for Java application development: faster, smaller, and freer. No Spring, no Servlet, no JavaEE;Independent lightweight ecology. The main frame is only 0.1 MB.
@Controller
public class App {
public static void main(String[] args) {
Solon.start(App.class, args);
}
@Get
@Socket
@Mapping("/hello")
public String hello(@Param(defaultValue = "java") String name) {
return String.format("Hello %s!", name);
}
}
Getting started exploration video (user recorded):
Projects relative to Spring Boot and Spring Cloud:
- Startup is 5 to 10 times faster. (faster)
- qps is 2 to 3 times higher. (higher)
- Save 1/3 ~ 1/2 of the runtime memory. (less)
- Packing can be reduced to 1/2 ~ 1/10; for example, 300Mb becomes 23Mb. (smaller)
- Registration discovery based on service name corresponds to k8s svc
- Support Service Mesh architecture deployment scheme
- Support jdk8, jdk11, jdk17, jdk19 at the same time
- No Spring, no Servlet, no JavaEE; independent lightweight ecology
This update:
- Added solon.test plugin
- Added solon-test-junit4 plug-in, relative to solon-test only supports junit4
- Added solon-test-junit5 plug-in, relative to solon-test only supports junit5
- Plug-in sentinel-solon-cloud-plugin console debugging
- The xml configuration of the plugin mybatis-solon-plugin is added
**
expression support - Adjusted AopContext::getProps() marked as deprecated, replaced by AopContext::cfg()
- Adjust Plugin::init() to Plugin::init(AopContext); Enhance support for solon cloud hot swap!!!
- Optimize the friendly prompt when the action parameter conversion fails
- Optimize the solon cloud plug-in to add support for hot swapping. Before, only the configuration of the main program can be used, but now the configuration of the plug-in can be used
- Optimize forest-solon-plugin to re-adapt in depth and support solon’s upstream!!!
- Optimize liteflow-solon-plugin re-deep adaptation!!!
- Optimize solon-test to add concurrent single test support for more scenarios!!!
- Optimize sa-token-solon-plugin to solve the problem that multiple StpLogic cannot be registered automatically
- Optimize the core global AopContext from the original static variable to the member variable of SolonApp!!!
- Optimize the core to support the running and switching of multiple SolonApps during the test to achieve the isolation effect of the single test!!!
- Optimize core Add Utils.resolvePaths(expr) for support
/a/**/b/*.xml
The resolution of this path - Optimize core, adjust BeanWrap’s hashCode processing; and increase beanWrapsSet to collect name registration!!!
Learn more about Solon:
Project repository:
#Solon #Java #Framework #v1120 #released #News Fast Delivery