文章目录
- [1. 实战概述](#1. 实战概述)
- [2. 实战步骤](#2. 实战步骤)
-
- [2.1 创建Micronaut项目](#2.1 创建Micronaut项目)
- [2.2 创建控欢迎制器](#2.2 创建控欢迎制器)
- [2.3 创建欢迎页面](#2.3 创建欢迎页面)
- [2.4 启动应用](#2.4 启动应用)
- [2.5 访问欢迎页面](#2.5 访问欢迎页面)
- [3. 实战总结](#3. 实战总结)
- [4. Micronaut与Spring Boot对比](#4. Micronaut与Spring Boot对比)
1. 实战概述
- 本次实战旨在构建一个基于Micronaut框架的动态Web应用。通过官方Launch工具初始化项目,集成Thymeleaf模板引擎,实现后端控制器接收路径参数,并利用ModelAndView将数据传递至前端视图,最终展示个性化的欢迎界面。
2. 实战步骤
2.1 创建Micronaut项目
-
访问https://micronaut.io/launch/

-
配置项目基本信息(添加两个特性:
http-server-jdk与views-thymeleaf)
-
单击【build GENERATE PROJECT】按钮,选择下载项目的zip文件

-
查看下载的项目压缩包

-
解压缩项目到指定目录
D:\MicronautProjects
-
打开项目目录
micronaut-welcome
-
利用IntelliJ IDEA打开项目

2.2 创建控欢迎制器
-
在
net.huawei里创建controller子包

-
在
controller子包里创建WelcomeController类
javapackage net.huawei.controller; import io.micronaut.http.annotation.Controller; import io.micronaut.http.annotation.Get; import io.micronaut.views.ModelAndView; import io.micronaut.views.View; import java.util.HashMap; import java.util.Map; /** * 功能:欢迎控制器 * 作者:华卫 * 日期:2026年06月23日 */ @Controller public class WelcomeController { /** * 处理/welcome/{name}请求 * @param name 路径参数 * @return ModelAndView 包含模型和视图 */ @Get("/welcome/{name}") @View("welcome") public ModelAndView<Map<String, Object>> welcome(String name) { // 1. 创建一个Map来存放数据 Map<String, Object> model = new HashMap<>(); // 2. 将name放入map,key为"name",这样前端才能通过${name}获取 model.put("name", name); // 3. 返回ModelAndView,第一个参数是视图名,第二个是模型数据 return new ModelAndView<>("welcome", model); } }
2.3 创建欢迎页面
-
在
resources/views里创建welcome.html文件
html<!DOCTYPE html> <html lang="zh-CN" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>欢迎页面</title> <style> /* 全局重置与背景设置 */ body { margin: 0; padding: 0; height: 100vh; /* 占满全屏高度 */ display: flex; /* 使用 Flex 布局 */ justify-content: center; /* 水平居中 */ align-items: center; /* 垂直居中 */ background-color: #f0f2f5; /* 浅灰色背景,护眼且高级 */ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } /* 核心卡片样式 */ .welcome-card { background-color: antiquewhite; /* 卡片古董白 */ padding: 40px 60px; /* 内部留白 */ border-radius: 20px; /* 大圆角边框 */ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); /* 添加阴影增加立体感 */ text-align: center; transition: transform 0.3s ease; /* 鼠标悬停动画过渡 */ } /* 鼠标悬停时微微上浮 */ .welcome-card:hover { transform: translateY(-5px); } /* 文字样式 */ h1 { color: #333333; margin: 0; font-size: 2.5rem; } /* 名字的高亮样式 */ .highlight-name { color: #007bff; /* 蓝色高亮 */ font-weight: bold; } </style> </head> <body> <!-- 容器卡片 --> <div class="welcome-card"> <h1> 嗨,亲爱的[<span th:text="${name}" class="highlight-name">Guest</span>] </h1> <p style="color: #666; margin-top: 10px; font-size: 40px">欢迎来到 Micronaut 世界</p> </div> </body> </html>
2.4 启动应用
- 运行
Application入口类

2.5 访问欢迎页面
- 访问
http://localhost:8080/welcome/陈燕文

3. 实战总结
- 本次实战成功实现了Micronaut与Thymeleaf的整合开发。通过构建控制器,掌握了如何利用
@View注解和ModelAndView对象将后端数据无缝传递至前端视图,解决了动态数据渲染的核心问题。在页面美化方面,引入了现代化的CSS3样式,包括圆角边框、阴影悬浮效果及背景布局,显著提升了界面的美观度与交互体验。整个流程涵盖了从项目搭建、逻辑编写到视图渲染的完整闭环,验证了Micronaut框架在快速开发轻量级Web应用方面的高效性与便捷性,为后续构建更复杂的微服务界面奠定了坚实基础。
4. Micronaut与Spring Boot对比
- Spring Boot 与 Micronaut 的核心区别在于底层架构。Spring Boot 采用运行时依赖注入(反射机制),生态极其成熟,适合开发复杂的企业级应用,但启动较慢且内存占用较高。而 Micronaut 专为云原生设计,采用编译时依赖注入,彻底消除了运行时反射开销,具备亚秒级启动和极低内存占用的优势,非常适合微服务、Serverless 及高密度容器化部署。简言之,追求丰富生态与快速上手选 Spring Boot,追求极致性能与云原生轻量级架构选 Micronaut。