06-SpringBoot工程下Spring MVC技术的应用?

微信扫一扫,分享到朋友圈

06-SpringBoot工程下Spring MVC技术的应用?

Spring MVC 简介

背景分析

在大型软件系统设计时,业务一般会相对复杂,假如所有业务实现的代码都纠缠在一起,会出现逻辑不清晰、可读性差,维护困难,改动一处就牵一发而动全身等问题。为了更好解决这个问题就有了我们现在常说的分层架构设计。

MVC 是什么?

MVC是一种软件架构设计思想,基于MVC架构将我们的应用软件进行分层设计和实现,例如可以分为视图层(View),控制层(Controller),模型层(Model),通过这样的分层设计让我们程序具备更好的灵活性和可可扩展性.因为这样可以将一个复杂应用程序进行简化,实现各司其职,各尽所能.比较适合一个大型应用的开发.

Spring MVC 概述

Spring MVC是MVC设计思想在Spring框架中的一种实现,基于这样的思想spring框架设计了一些相关对象,用于更好的基于MVC架构处理请求和响应,其简易架构如图所示:

其中:

1)DispatcherServlet是客户端所有请求处理的入口,负责请求转发。

2)RequestMapping负责存储请求url到后端handler对象之间的映射。

3)Handler 用于处理DispatcherServlet对象转发过来的请求数据。

4)ViewResolver负责处理所有Handler对象响应结果中的view。

Spring MVC 快速入门

准备工作

第一步:创建项目module,基本信息如图所示:

第二步:添加项目依赖(可以在module创建时,也可以创建后),代码如下:

Spring Web 依赖(提供了spring mvc支持并且会嵌入一个tomcat)

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

Thymeleaf 依赖(提供了以html作为页面模板进行解析和操作的相关对象)

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

第三步:启动项目检测控制台启动状态是否OK

statics 目录分析及应用

statics 目录为springboot工程创建时添加了web依赖以后自动创建的目录,此目录中可以存储html、css、js、html等相关资源,这些资源可以在启动服务器以后,直接在浏览器进行访问。例如:

第一步:在statics目录下创建一个index.html页面,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>The First Html Page</h1>
</body>
</html>

第二步:启动服务器并直接进行访问测试,如图所示

templates 目录分析及应用

templates 目录为springboot工程创建时添加了thymeleaf依赖以后自动创建的目录,此目录中要存储一些html模板,这个模板页面不能直接通过浏览器url进行访问,需要基于后端控制器,在方法中定义页面响应,例如:

第一步:定义TemplateController及方法,代码如下:

package com.cy.pj.health.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class TemplateController {
@RequestMapping("/doHealth")
public String doHealth(Model model) {
model.addAttribute("username", "json");
model.addAttribute("state", true);
return "default";
}
}

第二步:定义templates目录中定义模板页面health.html,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>The Default Template page</h1>
<div>
<ul>
<li>username:[[${username}]]</li>
<li>state:[[${state}]]</li>
</ul>
</div>
</body>
</html>

第三步:启动服务进行访问测试,如图所示:

其中,[[${}]]为thymeleaf中用于获取module中数据的一种表达式。

微信扫一扫,分享到朋友圈

06-SpringBoot工程下Spring MVC技术的应用?

[图]科学团队开发新型可穿戴设备 可在用户癫痫发作1小时前发出警告

上一篇

[图]PS5兼容性更多细节曝光:强制触觉反馈和自适应触发器等

下一篇

你也可能喜欢

06-SpringBoot工程下Spring MVC技术的应用?

长按储存图像,分享给朋友