
利用 Solon-web 框架写一个 Hello World
1. 用 IntelliJ IDEA 新建一个 Meven 空项目
2. 在
3. 添加应用启动入口
4. 添加控制器
5.再添加个模板文件
6. 运行
7. 用浏览器打开:
2. 使用meven打包命令,打包成:
3. 用命令运行
发布日期:2021-05-09 05:39:42
浏览次数:15
分类:博客文章
本文共 3089 字,大约阅读时间需要 10 分钟。
Solon 项目的开源地址:
最近看了不少别人写的各种框架的
Hello world
示例,有些看起来,真的很复杂。今天,我们用号称简单到不能再简单的
Solon
框架也写一个Hello world
(确实是0配置,除了meven)
一、写代码
1. 用 IntelliJ IDEA 新建一个 Meven 空项目 helloworld
2. 在 pom.xml
文件里添加框架依赖
org.noear solon-web 1.0.9 pom
3. 添加应用启动入口 /src/main/java/helloworld/App.java
package helloworld;import org.noear.solon.XApp;public class App { public static void main(String[] args) { XApp.start(App.class, args); }}
4. 添加控制器 /src/main/java/helloworld/controller/HelloController.java
package helloworld.controller;import org.noear.solon.annotation.XController;import org.noear.solon.annotation.XMapping;import org.noear.solon.core.ModelAndView;import java.util.HashMap;import java.util.Map;@XControllerpublic class HelloController { /** * 这是直接返回值 * */ @XMapping("/") public String hello() { return "Hello world!"; } /** * 这是返回个对象(以json形式) * */ @XMapping("/json") public Map hello_json() { Mapmap = new HashMap<>(); //实体也ok map.put("message", "Hello world!"); return map; } /** * 这是用 FreeMarker 进行渲染(你想用别的引擎?可以随便换,比如:Enjoy) * */ @XMapping("/ftl") public ModelAndView hello_ftl() { ModelAndView mv = new ModelAndView("hello.ftl"); mv.put("message", "Hello world!"); return mv; }}
5.再添加个模板文件 /src/main/resources/WEB-INF/view/hello.ftl
${message!}
6. 运行 App.main()
对着 App.java 文件,右键,选择:Run 'App.main()'
7. 用浏览器打开:http://localhost:8080/
8. 再用wrk测试一下qps
测试代码:wrk -t10 -c200 -d30s --latency "http://127.0.0.1:8080/"
;大概有 4.5万的qps,不错的
听说切换到嵌入式 jetty
有 6.5万左右;切换到嵌入式 undertow
有 8万左右。
solon-mvc
默认配的是 jlhttp,不过它小巧,只有0.1m
到此,写代码的事儿。搞定了!
二、发布服务包
1. 再修改下pom.xml文件,添加打包配置
org.noear solon-web 1.0.9 pom ${project.artifactId} org.apache.maven.plugins maven-compiler-plugin 3.7.0 1.8 1.8 UTF-8 maven-assembly-plugin ${project.artifactId} false jar-with-dependencies helloworld.App make-assembly package single
2. 使用meven打包命令,打包成:helloworld.jar
OK,传说中的一个微形小服务出来了。
3. 用命令运行 java -jar helloworld.jar
(不用容器,不用容器,不用容器......)
再用浏览器打开:http://localhost:8080/