利用 Solon-web 框架写一个 Hello World
发布日期: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() {        Map
map = 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/

三、DEMO源码

上一篇:怎么用 Solon 开发基于 undertow jsp tld 的项目?
下一篇:TeamX 引擎的高并发能力测试

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2025年05月04日 03时09分05秒