spring

mac2025-07-20  5

1 概述 Spring在Java界代表着实际标准。学java不掌握Spring等于高铁时代还在用拖拉机运输人力。

从Spring出现后,Java的开发的周期缩短了;从Spring Boot出现后,Spring的学习周期缩短了。

我们学习也从Spring boot开始。

2 下载STS 学习Spring用什么开发工具最好?Eclipse还是记事本?还是IDEA?还是NetBeans?这些都不是,是Spring官方的STS。下载地址: https://spring.io/tools

STS提供3个不同平台的版本:Linux、macOS、Windows。选择适合自己平台的版本,解压后就可以使用。

进入sts目录,如我的电脑使用Windows,双击SpringToolSuite4.exe,启动sts。

3 创建工程 我们将创建工作的过程录制成Gif动画,能更生成的说清楚创建过程。

创建后的目录结构下:

在这里插入图片描述

src/main/resources/static用于放置资源文件,如css、js、图片等。

src/main/resources/templates用于放置thymeleaf模板的视图文件,视图文件是.html格式。

src/main/resources/application.properties文件是Spring Boot工程的标准配置文件,用于配置端口、数据库连接配置文件等。

main函数 工程创建后,自动创建一个工程名+Application的java类 SpringMvcHelloApplication。这个类上面有一个注释@SpringBootApplication,它是Spring Boot程序的入口类,将启动main函数。

package com.wangshenghua.demo;

import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication public class SpringMvcHelloApplication {

public static void main(String[] args) { SpringApplication.run(SpringMvcHelloApplication.class, args); }

} 4 创建控制器 接下来创建一个名为GreetingController的控制器,控制器与视图层进行交互。

package com.wangshenghua.demo;

import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam;

@Controller public class GreetingController {

@GetMapping("/greeting") public String greeting(@RequestParam(name = "name", required = false, defaultValue = "World") String name, Model model) { model.addAttribute("name", name); return "greeting"; }

} @Controller 注释表示这个类是控制器。@GetMapping注释表示这个方法响应get请求,相当servlet 中的 doGet方法。@RequestParam 注释用于获取 请求参数,相当于Servlet的request.getParameter()方法。Model 是模型,用于存储数据,相当于Servlet中的 setAttribute()和 getAttribute存储数据。addAttribute 方法等于Servlet中的setAttribute()方法, Model里面可以放POJO。

return “greeting”; 相当于servlet 中的 reqeust.getRequestDispacher().forword(),用于跳转页面。greeting 指向于src/main/resources/templates/greeting.html文件,后缀省略未写。

5 视图层 thymeleaf模板视图文件放置在src/main/resources/templates目录。视图文件是.html后缀的超文本标记语言。

greeting.html

Getting Started: Serving Web Content

在html标签引入属性xmlns:th并指定值为http://www.thymeleaf.org,用于启用thymeleaf模板。

th:text用于输出文本,值来源来控制器的mode.addAttribute()方法中的值,展示值同Servlet的EL表达式一样使用${}。

th:前缀是thymeleaf模板,相当于我们学的jstl标签的前缀。

6 运行程序 右击工程,在弹出的菜单中选择【Run as】【Spring Boot App】启动工程,在浏览器地址栏输入http://localhost:8080即可访问本程序。

7 总结 本节课程使用Spring Boot和thymeleaf技术实现一个Hello world程序。演示了如何创建Spring boot程序,介绍了Spring boot+ thymeleaf 组合的工程结构,了解这些结构有助于少走弯路;介绍控制器的写法,及控制器如何响应get请求,及获取参数,以及跳转到视图页面;介绍了一个 thymeleaf 视图文件的关键代码。学员位重点掌握创建Spring Boot工程,创建控制器类,创建 thymeleaf 模板视图文件,运行Spring Boot工程。

本节课程源码已经上传到github,可以前往下载。

最新回复(0)