Solon v1.12.1 发布,已累计 10000+ 次提交

news2025/1/20 10:57:01

一个更现代感的 Java 应用开发框架:更快、更小、更自由。没有 Spring,没有 Servlet,没有 JavaEE;独立的轻量生态。主框架仅 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);
    }
}

入门探索视频(用户录制):

《bilibili - solon 入门探索》

相对于 Spring Boot 和 Spring Cloud 的项目:

  • 启动快 5 ~ 10 倍。 (更快)
  • qps 高 2~ 3 倍。 (更高)
  • 运行时内存节省 1/3 ~ 1/2。 (更少)
  • 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)
  • 基于服务 name 进行注册发现 与 k8s svc 相互对应
  • 支持 Service Mesh 架构部署方案
  • 同时支持 jdk8, jdk11, jdk17, jdk19
  • 没有 Spring,没有 Servlet,没有 JavaEE;独立的轻量生态

本次更新:

  • 新增 fastdfs-solon-cloud-plugin 插件
  • 插件 file-s3-solon-plugin 增加内容大小获取
  • 插件 aws-s3-solon-plugin 增加内容大小获取
  • 增加 CloudFileService::exists(…) 和 CloudFileService::getTempUrl(…) 接口
  • 增加 Meda::contentSize() 和 DownloadedFile::getContentSize() 接口
  • 增加 Media::bodyAsBytes() 接口,旧的 Media::bodyAsByts() 标为弃用
  • 增加 core 对启动类及包名的检测
  • 增加 server.wrapHost, server.wrapPort 配置支持!!!(对 docker 单体注册与发现更友好)

生态架构图:

在这里插入图片描述

进一步了解 Solon:

  • 《想法与架构笔记》
  • 《生态预览》
  • 《与 Spring Boot 的区别?》
  • 《与 Spring Cloud 的区别?》

项目仓库:

  • gitee:https://gitee.com/noear/solon
  • github:https://github.com/noear/solon

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/152116.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

leetcode刷题精讲————17.电话号码的字母组合

力扣https://leetcode.cn/problems/letter-combinations-of-a-phone-number/description/ 这道题要用到多叉树遍历、回溯、递归、排列组合等相关知识,算是比较经典的例题了,掌握它的核心思想就可以解决这一大类问题。 首先,2~9的数字对应不同…

JS 安全策略 101

依赖审计 依赖审计其实就是利用 npm 或是 yarn 自带的一个 audit 命令检测 node_module 里存在的一些具有安全隐患的依赖项。我习惯用yarn audit, 所以给大家放了张自己博客的 yarn 审计结果。这里显示:一个叫 trim 的包太老了,有很高的安全风险。 有风…

【数据结构初阶】5. 栈和队列

栈 1.1 栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。**进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。**栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则…

win7安装onenote2016时碰到30094-1011(0)的 问题

安装办法用途【1】中所有的更新【1】中下载IE11的依赖IE11360软件管家解决OneNote的登录界面不显示问题微软常用运行库360软件管家kernalbase.dll等文件的缺失windowsupdateagent-7.6-x64官网下载Windows6.1-KB4474419-v3-ia64.msu控制面板的update中选择安装支持sha-2校验【3】…

【算法】差分数组

目录1.概述2.代码实现3.应用本文参考: LABULADONG 的算法网站 1.概述 (1)差分数组的思想与前缀和算法的非常近似(有关前置和算法的具体细节可以参考前缀和算法这篇文章),其主要适用于频繁地对原始数组的某…

国产单通道直流有刷马达驱动芯片型号推荐

直流有刷马达驱动芯片是一款适应消费类、工业类的单通道直流有刷驱动IC,适用于各类玩具,智能家居,智能三表。小封装,低功耗,内置完善的保护机制(过温/过流/过压)。具有一个PWM(INA/I…

写了2年文章的我,昨天第一次露脸直播。

作为一名不知名的技术博主,上周六晚上在视频号第一次做露脸直播。 勇敢的迈出视频号开播的第一步,并且数据不错,这个感觉很爽,和写作输出完全是两回事。 写这篇文章的目的是鼓励技术博主们,也尝试一下直播和做视频。 …

ClickHouse 挺快,esProc SPL 更快

开源分析数据库ClickHouse以快著称,真的如此吗?我们通过对比测试来验证一下。 ClickHouse vs Oracle 先用ClickHouse(简称CH)、Oracle数据库(简称ORA)一起在相同的软硬件环境下做对比测试。测试基准使用国…

基于ESP8266和SU-03T的离线语音红外遥控器设计

一. 系统设计及框图 之前设计了基于ESP32模块的智能红外遥控器,具体功能见以下CSDN链接: 智能红外遥控器(一):功能简介_远望创客学堂的博客-CSDN博客 上面这款智能红外遥控器可以实现红外的远程控制,也可…

【从零开始学习深度学习】44. 图像增广的几种常用方式并使用图像增广训练模型【Pytorch】

大规模数据集是成功应用深度神经网络的前提,图像增广(image augmentation)技术通过对训练图像做一系列随机改变,来产生相似但又不同的训练样本,从而扩大训练数据集的规模。图像增广的另一种解释是,随机改变…

PCB入门学习—PCB封装的创建2

3.2 IC类PCB封装的创建注:PCB封装的名字一定要和原理图上填写的封装名字一样,不然对不上。规格书里有最大值最小值,就按最大值来做。快捷键EA是特殊粘贴。SOP-8:焊盘比较多时(BGA)可以利用向导去创建。做封装从规格书需要读取的数据&#xff…

19-FreeRTOS 任务通知API

1-xTaskNotifyGive / xTaskNotifyGiveIndexed task.hBaseType_t xTaskNotifyGive( TaskHandle_t xTaskToNotify );BaseType_t xTaskNotifyGiveIndexed( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify );每个任务都有一组“任务通知” (或仅“通知” &a…

Tomcat Connector运行模式

目录 1 Tomcat Connector运行模式 1.1 BIO 模式 1.2 NIO 模式 1.3 APR模式 2 修改Tomcat Connector运行模式为apr 或者解决问题The APR not found 问题 2.1 linux系统 2.2 windows处理 1 Tomcat Connector运行模式 1.1 BIO 模式 BIO模式(blocking I/O&am…

[C语言]运用函数指针数组构建一个简单计算器

1.函数指针数组 函数指针数组,即为存放函数首地址的数组,类型为函数指针类型。 2.运用函数指针数组构建简单计算器 1.人机交互,首先要用选择加减或乘除的菜单,再分别写出其功能 void menu() {printf("****************…

嵌入式实时操作系统的设计与开发(五)

线程退出 当线程代码执行完后,系统会隐式地调用acoral_thread_exit()函数进行线程退出相关的操作。 acoral_thread_exit()本质上是要执行acoral_kill_thread()。 void acoral_thread_exit(){acoral_kill_thread(acoral_cur_thread); }void acoral_kill_thread(aco…

ccbill 代码分析

ccbill目录概述需求:设计思路实现思路分析1.BillState2.DBList3.DBListAttr4.DBListDBSrc5.DBListDBSrcsDBListsSurvive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wai…

每日一题:Leetcode59. 螺旋矩阵 II

文章目录 系列:数组专练 语言:java & go 题目来源:Leetcode59. 螺旋矩阵 II 难度:中等 考点:边界问题的处理 & 圈数处理 思路和参考答案文章目录题目描述思路java解法:java参考代码go参考代码&…

OceanBase 4.0解读:从TPC-H性能测评看4.0与3.x差异

关于作者 肖帆 OceanBase技术专家 OceanBase技术专家,开源生态团队成员。毕业于华中科技大学软件工程专业,从事数据库领域的质量保障工作,曾就职于有赞、网易,参与关系型数据库、缓存数据库、对象存储相关产品的测试开发&#x…

.net core api调用webserver接口(详细)

这里废话不多说,我就不简述什么事webserver了,相信点进本博客的大佬都是为了解决问题。 .net core 调用webserver的话还挺简单。首先我们先有个.net core api的项目。 1.我们先注入这个HttpClient 这个内置对象,一会要用到。 // 注入HttpC…

Vue Hook Event 解读

前言 Hook Event (钩子事件)相信很多 Vue 开发者都没有使用过,甚至没听过,毕竟 Vue 官方文档中也没有提及。 Vue 提供了一些生命周期钩子函数,供开发者在特定的逻辑点添加额外的处理逻辑,比如: 在组件挂载阶段提供了beforeMount 和…