关注我的公众号:【编程朝花夕拾】,可获取首发内容。
01 引言
SpringBoot借助Spring生态占据了Java开发的半壁江山。面试的时候,可能总会碰到"SpringBoot为什么启动慢?"、"怎么提高SpringBoot的并发"等。既然被问,总会存在类似的问题。
今天发现一款国产的开元框架,号称是新一代Java 企业级应用开发框架,以快速、小巧、简洁著称:Solon。
02 简介
Solon 框架由杭州无耳科技有限公司(下属 Noear 团队)开发并开源。是新一代,Java 企业级应用开发框架。从零开始构建,有自主的标准规范与开放生态。近40万行代码。
- 追求: 快速、小巧、简洁
- 提倡: 克制、高效、开放
主要特性:
- 更高的计算性价比:并发高 700%(techempower);内存省 50%
- 更快的开发效率:代码少;入门简单;启动快 10倍(调试快)
- 更好的生产与部署体验:打包小 90%
- 更大的兼容范围:非 java-ee 架构;同时支持 java8 ~ java25,graalvm native image

官网地址:solon.noear.org/article/lea...
03 最佳实践
3.1 安装插件
习惯了SpringBoot的脚手架,我们也试试Solon的脚手架,需要我们安装插件。

插件地址:plugins.jetbrains.com/plugin/2138...

安装完成之后,

这就可以和SpringBoot一样,创建Moudle了。
搭建Web项目需要选择Web的脚手架。

3.2 引入依赖
选择好脚手架,依赖就会自动引入:
xml
<!-- Solon Web Servlet -->
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon-lib</artifactId>
</dependency>
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon-server-jetty</artifactId>
</dependency>
或者直接引入
xml
<!-- Web 快速开发集成包(含 solon-core + 一个 HTTP 服务器) -->
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon-web</artifactId>
</dependency>
3.3 控制层
启动类会自动生成:
java
@SolonMain
public class App {
public static void main(String[] args) {
Solon.start(App.class, args);
}
}
和SpringBoot启动类非常类似。
java
@Controller
public class FooController {
@Inject
private UserService userService;
@Get
@Mapping("/hello")
public String hello() {
return "hello Solon";
}
@Get
@Mapping("/getUser")
public User getUser() {
return userService.getUser();
}
@Get
@Mapping("/path/{random}")
public String getPath(@Path("random") String random) {
return "path: " + random;
}
}
调用服务通过@Inject注解注入服务。
3.4 服务层
java
public interface UserService {
User getUser();
}
// -------------------------------------
@Component
public class UserServiceImpl implements UserService {
@Override
public User getUser() {
return new User(new Random().nextLong(), "ws", "developer", 18 );
}
}
服务层通过@Component标记
3.5 测试
启动确实很快:


整体感觉还是不错的,老铁们,你们觉得呢?
04 小结
以上的demo只是简单的Web测试,Solon的生态还是很完全的,还有很多,感兴趣的可以去试试。
