学习 Java 还是 Solon 简单,v1.9.0 发布
入手很简单哦:
pom.xml 添加依赖
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon-api</artifactId>
<version>1.9.0</version>
</dependency>
添加几行 java 代码,就可以运行
@Controller
public class App {
public static void main(String[] args) {
Solon.start(App.class, args);
}
@Get
@Mapping("/hello")
public String hello(@Param(defaultValue = "world") String name) {
return String.format("Hello %s!", name);
}
}
相对于 Spring Boot 和 Spring Cloud 的项目
- 启动快 5 ~ 10 倍
- qps 高 2~ 3 倍
- 运行时内存节省 1/3 ~ 1/2
- 打包可以缩小到 1/2 ~ 1/10(比如,90Mb 的变成了 9Mb)
- 基于 app.name 进行注册发现 与 k8s svc 相互对应
- 支持 Service Mesh 架构部署方案
本次更新
- 新增 grpc-solon-plugin 插件
- 新增 solon.cache.caffeine 插件
- 新增 solon.serialization.fastjson2 插件
- 新增 nami.coder.fastjson2 插件
- 新增 solon.aspect 插件
- 新增 solon.health 插件
- 新增 solon.hotplug 插件
public class DemoApp {
public static void main(String[] args) {
Solon.start(App.class, args, app -> {
//添加待管理的插件
PluginManager.add("add1", "/x/x/x.jar");
PluginManager.add("add2", "/x/x/x2.jar"); app.get("start", ctx -> {
//启动插件
PluginManager.start("add1");
ctx.output("OK");
}); app.get("stop", ctx -> {
//停止插件
PluginManager.stop("add1");
ctx.output("OK");
});
});
}
}
- 新增 solon.config.yaml 插件
- 新增 solon.web.servlet 插件
- 新增 solon.web.staticfiles 插件
- 新增 solon.web.cors 插件
- 插件 solon.extend.aspect [标为弃用]
- 插件 solon.extend.health [标为弃用]
- 插件 solon.extend.hotplug [标为弃用]
- 插件 solon.extend.properties.yaml [标为弃用]
- 插件 solon.extend.servlet [标为弃用]
- 插件 solon.extend.staticfiles [标为弃用]
- 插件 solon.extend.cors [标为弃用]
进一步了解 Solon
项目地址
学习 Java 还是 Solon 简单,v1.9.0 发布的更多相关文章
- RapidJSON v1.1.0 发布简介
时隔 15.6 个月,终于发布了一个新版本 v1.1.0. 新版本除了包含了这些日子收集到的无数的小改进及 bug fixes,也有一些新功能.本文尝试从使用者的角度,简单介绍一下这些功能和沿由. P ...
- FineUIMvc v1.4.0 发布了(ASP.NET MVC控件库)!
FineUIMvc v1.4.0 已经于 2017-06-30 发布,FineUIMvc 是基于 jQuery 的专业 ASP.NET MVC 控件库,是我们的新产品.由于和 FineUI(专业版)共 ...
- Jsonnet-PHP v1.3.0 发布,支持 PHP 7 使用 Jsonnet
JsonNet-PHP 是 Google Jsonnet 对 PHP的支持扩展. pecl: http://pecl.php.net/package/jsonnet github: https://g ...
- Solon v1.11.0 发布,Hello Java
一个更现代感的 Java 应用开发框架:更快.更小.更自由.没有 Spring,没有 Servlet,没有 JavaEE:独立的轻量生态.主框架仅 0.1 MB. @Controller public ...
- Solon Java Framework v1.12.0 发布
一个更现代感的 Java 应用开发框架:更快.更小.更自由.没有 Spring,没有 Servlet,没有 JavaEE:独立的轻量生态.主框架仅 0.1 MB. @Controller public ...
- 学习java之路 简单日历查询代码
/** * 31天的 1, 3, 5, 7, 8, 10 ,12 30天的 4, 6,9,11 28天(平年) 2 29天(闰年) 2 */ class Demo{ public static voi ...
- Java 社区平台 - Sym 1.7.0 发布
English | 中文 简介 Symphony([ˈsɪmfəni],n.交响乐)是一个现代化的社区平台,因为它: 实现了面向内容讨论的论坛 包含了面向用户分享.交友.游戏的社交网络 集成了聚合独立 ...
- Java 社区论坛 - Sym 1.5.0 发布
简介 Sym 是一个用 Java 写的实时论坛,欢迎来 体验!(如果你需要搭建一个企业内网论坛,请使用 SymX) 非常详细的 Sym 功能点脑图 如果你在搭建或者二次开发时碰到问题,欢迎加 Q 群 ...
- Java 实时论坛 - Sym 1.4.0 发布
简介 Sym 是一个用 Java 写的实时论坛,欢迎来体验! 如果你需要搭建一个企业内网论坛,请使用 SymX. 作者 Sym 的主要作者是 Daniel 与 Vanessa,所有贡献者可以在这里看到 ...
- Java 社区论坛 - Sym 1.6.0 发布
简介 Sym 是一个用 Java 写的现代化的社区论坛,欢迎来体验!(如果你需要搭建一个企业内网论坛,请使用 SymX) 非常详细的 Sym 功能点脑图 Sym 的诞生是有如下几点原因: (正版) 好 ...
随机推荐
- QT中级(1)QTableView自定义委托(一)实现QSpinBox、QDoubleSpinBox委托
1 写在前面的话 我们在之前写的<QT(7)-初识委托>文章末尾提到,"使用一个类继承QStyledItemDelegate实现常用的控件委托,在使用时可以直接调用接口,灵活实现 ...
- mysql 索引图
- CSS 选择器权重计算与优先级
作者:WangMin 格言:努力做好自己喜欢的每一件事 在讲CSS 选择器权重计算与优先级之前,我们先来了解一下CSS是用来干什么的?CSS是用来通过添加样式使网页更加美观,也就是说CSS是利用选择器 ...
- FHQ_Treap学习笔记
前置芝士(了解即可啦~):C++.BST 二叉搜索树.堆.二叉堆 Treap 的概念 Treap 树堆,即树(Tree)+堆(Heap),是一棵弱平衡的二叉搜索树(BST),能同时满足二叉搜索树与堆的 ...
- 神经网络入门篇:激活函数(Activation functions)
激活函数 使用一个神经网络时,需要决定使用哪种激活函数用隐藏层上,哪种用在输出节点上.到目前为止,之前的博客只用过sigmoid激活函数,但是,有时其他的激活函数效果会更好. 在神经网路的前向传播中, ...
- Android 线性布局和相对布局
LinearLayout 线性布局 orientation 排列方式:vertical 竖直 horizontal 水平(默认值) layout_weight 权重:将子视图以对应的权重分配其空间大小 ...
- uni-app小程序项目发布流程
uni-app小程序项目发布流程开发工具:HbuilderX编辑器.微信小程序开发工具1.小程序开发工具就可以点击发行版本了 2.登录开发者平台配置域名白名单 在开发者设置里完成服务器域名配置(域名白 ...
- Pycharm 2022 取消双击 shift 搜索框
Pycharm取消双击shift搜索框 基于PyCharm 2022.3.2 (Professional Edition),旧版本修改方式自行搜索 双击shift弹出搜索框,输入内容double mo ...
- Linux下通过AnySetup配置防火墙
软件 AnySetup 主要功能 主要功能是对Linux操作系统下的基本配置进行管理.多种服务配置进行管理.安全配置进行管理等.如:操作系统的升级管理,软件包的安装.更新和卸载管理,软件仓库源的管理, ...
- SpringBoot实战项目:蚂蚁爱购(从零开发)
简介 这是从零开发的SpringBoot实战项目,名字叫蚂蚁爱购. 从零开发项目,视频加文档,十天彻底掌握开发SpringBoot项目. 教程路线是:搭建环境=> 安装软件=> 创建项 ...