Spring Boot/MVC

Springboot项目整合mybatis、springmvc、JDBC 常用注解 @Configuration 标识当前类是配置类 @ComponentScan 包扫描注解 扫描注解 @Bean 标识该方法的返回值交给Spring容器管理 @Scope 控制多例和单例 @Lazy 懒加载 @PostConstruct 初始化方法 @PreDestroy 销毁方法 @Component 将当前类未来的对象交给容器管理 @Autowired 按照类型进行注入 @Qualifier 按照名称进行注入 @Repository 标识持久层注解 @Service 标识Service层 @C 阅读详情

一、Spring Boot的创建

1.Spring Boot简化Spring程序的开发,使用注解和配置的方式开发

springboot内置了tomact服务器

tomact:web服务器,默认端口号8080,所以访问程序使用8080

 src/main/java:Java源代码

src/main/resource:静态资源或配置文件,存放前端代码(js,css,html)

src/test/java:测试代码源代码

target:编译后的文件路径

pom.xml:maven配置文件

 浏览器输入网址

通过ip地址127.0.0.1定位网络上的一台计算机(本机)

通过端口号找到计算机上对应的进程,本机正在运行的8080端口的程序

/helle 请求资源(数据)的位置

服务器

接受浏览器发送的信息,在服务器上找到相应的资源(数据)

404:访问的资源不存在(url错误,注解错误)

500:服务器内部错误(程序错误)

无法访问此网站:可能Tomcat启动失败,服务未成功启动,ip/端口写错

二、Spring Web MVC

1.MVC(Model View Controller)

是软件工程中的一种软件架构设计模式,把软件系统分为模型,视图,,控制器三个部分

View:与浏览器进行交互,展示数据的资源

Mode:应用程序的主体部分,处理业务逻辑处理数据

Controller:分发器,用来连接视图和模型

SpringMVC是一个Web框架,是对MVC思想的具体实现

SpringBoot只是实现SpringMVC的其中一种方式,通过2,添加SpringWeb来实现web功能

2.如何通过浏览器和用户程序进行交互

1)建立连接

用户(浏览器)和JAVA程序连接起来,(访问一个地址,能够调用Spring程序)

常使用的注解

@RequestMapping

实现URL路由映射,浏览器连接程序

当用户访问⼀个 URL 时, 将用户的请求对应到程序中某个类的某个方法的过程就叫路由映射

可以修饰类也可以修饰方法,访问地址:...类路径+方法路径

即支持Get请求,也支持Post请求

可以显示指定接收Post请求

2)请求:

用户请求时会带一些参数,在程序中要实现获取参数的功能

如何传递参数到后端以及后端如何接收

1)传递单个/多个参数

使用浏览器发送请求并传参

springMVC会根据方法发的参数名,找到对应的参数,赋值给方法  

url中?后name对程序应方法中的参数name必须一致

参数可能为空的数据,使用包装类型(Integer..)

 传递多个参数,就是程序中方法有多个形参,请后端参数进行匹配时,通过参数名进行匹配

2)传递对象

参数较多时,可以把这些参数封装成一个对象

 使用postman测试接口

3)参数重命名@RequestParam

保证前后端对应参数能匹配上

@RequestParam

url路径应该写参数nowtime现在可以使用time

 

 使用注解@RequestParam请求参数必须和注解声明的名称一致,而且参数成为必传参数,可以修改为参数为非必传参数

4)传递数组

MVC可自动绑定数组参数的赋值

 

5)传递集合

集合参数和数组类似 ,默认情况下请求中参数名相同的多个值会封装到数组,要使用@RequestParam绑定参数关系

 6)传递JSON数据@RequestBody

JSON:JavaScript对象表示法,一种数据格式,使用文本表示一个对象的信息,使用键值对表示数据

@RequestBody注解.请求正文

7)解析URL中的变量@PathVariable

 请求URL路径上的数据绑定,默认传递参数写在URL上,SpringMVC就可以获取到

 

 8)传文件@RequestPart

 

3)响应:

 执行业务逻辑后,把执行结果返回给用户

Http响应结果可以是数据, 也可以是静态⻚⾯,也可 以针对响应设置状态码, Header信息等.

1)返回前端页面@Controller 

把 @RestController注解 改为 @Controller注解,Spring  MVC 才会识别出来return的不是数据,是一个静态页面

@RestController = @Controller + @ResponseBody

@Controller : 定义⼀个控制器, Spring 框架启动时加载, 把这个对象交给Spring管理. @ResponseBody : 定义返回的数据格式为⾮视图, 返回⼀个 text/html 信息

2)返回数据@ResponseBody

不加上@Controller注解,找不到页面

@ResponseBody 既是类注解, ⼜是⽅法注解 如果作⽤在类上, 表⽰该类的所有⽅法, 返回的都是数据, 如果作⽤在⽅法上, 表⽰该⽅法返回的是数据.

3)返回HTML代码⽚段

后端返回数据时, 如果数据中有HTML代码, 也会被浏览器解析

@RequestMapping("/s9")
@ResponseBody
public String returnHtml() {
 return "<h1>Hello,HTML~</h1>";
}  //会解析return的html代码

4)返回json

5)设置状态码  HttpServletResponse

Spring MVC会根据我们⽅法的返回结果⾃动设置响应状态码, 程序员也可以⼿动指定状态码

 

6)设置content-type属性

RequestMapping(value = "/returnJson2",produces = "application/json;charset=utf-8")

 

7)设置header

response.setHeader("Header","MyHeader");

[F2F] Spring / Boot / MVC 面试题总结 Spring boot之所以流行,我认为很重要的实现就是Spring starter。可以理解成一个SpringBoot中可拔插式的一种体现,比如我们要在Spring Boot中引入Web MVC的支持时,我们通常会引入这个模块spring-boot-starter-web,而这个模块如果解压包出来会发现里面什么都没有,只定义了一些POM依赖。经过研究,Starter主要用来简化依赖用的。 阅读详情

相关推荐

Springmvc开发实例和规范

springmvc基于方法开发的,struts2基于类开发的。springmvc将url和controller里的方法映射。映射成功后springmvc生成一个Handler对象,对象中只包括了一个method。方法执行结束,形参数据销毁。springmvc的controller开发类似web service开发

SpringMVC详细介绍 zh-SpringBoot(6)

SpringMVC详细介绍 zh-SpringBoot(6)

weixin_45428910的博客 557

springMVC标准框架

springMVC标准框架,直接导入项目即可!省去你搭建框架了

SpringBoot基本配置

提示:本文为SpringBoot整合篇第一篇,基本配置和运行SpringBoot项目本文目的:作为记录和分享。

hongs468的博客 4085

Unity Animancer插件(一)基本使用

Animancer是什么?资源商店主页我们来通过Animancer实现一个最基本的动画播放效果。首先创建一个脚本,编写如下代码 很容易理解,就是在时播放一个指定的动画片段。接下来为角色添加、和刚刚编写的,并为字段赋值 接下来运行游戏就可以看到效果了 此时角色身上的组件可以看到当前动画的各项参数 下面我们来实现通过按键控制角色在于之间转换。新创建一个脚本。在代码中监听Y轴上的输入。然后根据监听到的数值判断角色状态,并播放相应的动画 给对应字段赋值后,启动游戏看下效果 下面来实现一个开枪效果。在默认状态下,角色

夜槿笙歌的博客 1万+

首个FDA认证开源医学影像AI平台Comp2Comp:从CT自动分析到临床部署全解析

深度学习模型在医学影像分析领域正成为变革性力量,其核心原理是通过卷积神经网络自动学习图像特征,实现精准分割与检测。这一技术价值在于将高度依赖医生经验的定性、主观判断,转化为高效、客观、可重复的定量分析,极大提升了诊断的一致性和工作效率。在应用场景上,医学影像AI已广泛渗透于疾病筛查、辅助诊断、预后评估及治疗方案规划等多个环节。本文聚焦于获得FDA 510(k)认证的开源平台Comp2Comp,它集成了主动脉钙化评分和椎体骨密度分析双任务,通过串联式的U-Net分割网络与目标检测模型,构建了从DICOM预处理

weixin_33725126的博客 653

springmvc中GET请求和POST请求

GET和POST是HTTP请求的两种方式 主要区别在于GET方法是请求读取由URL所标志的信息,POST是给服务器添加信息。 注意:在请求中,只有post请求方式,才会有请求体;get方式的请求,请求数据中是没有请求体的。 post请求方式 可以携带参数类 POST通过request body传递参数。 get请求方式 不可以携带参数类 ,参数只能拼接到url路径里 GET...

weixin_41988875的博客 2224

如何在R语言中使用Logistic回归模型

在日常学习或工作中经常会使用线性回归模型对某一事物进行预测,例如预测房价、身高、GDP、学生成绩等,发现这些被预测的变量都属于连续型变量。然而有些情况下,被预测变量可能是二元变量,即成功或失败、流失或不流失、涨或跌等,对于这类问题,线性回归将束手无策。这个时候就需要另一种回归方法进行预测,即Logistic回归。 在实际应用中,Logistic模型主要有三大用途: 1)寻找危险因素,找到某些影响...

weixin_34056162的博客 9552

Springboot SpringMVC的GET/POST中文参数乱码解决

SpringMVC的GET/POST中文参数乱码解决 POST请求参数中文乱码: 产生原因: spring MVC中默认的编码格式为“ISO-8859-1”,因此造成乱码。 解决: 在web.xml中配置Spring字符过滤器 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web

matafeiyanll的博客 3539

从零构建智能ai语音助手:ESP32s3+Python+大语言模型实战指南

本文详细介绍了基于ESP32S3硬件和Python后端的智能语音助手系统开发指南。系统采用ESP32S3采集语音,通过WebSocket实时传输到Python后端处理,利用大语言模型实现自然语言理解和意图识别,再通过TTS合成语音返回。文章从系统架构、工作流程、技术实现(包括OPUS编码、WebSocket通信、ESP32音频处理)等方面进行了详细讲解,并提供了分阶段学习路线和常见问题解决方案。该项目展示了物联网技术与AI技术的融合应用,相比传统语音系统具有更高的灵活性和智能性,为开发者提供了完整的实现方案

Despacito0o的博客 2629

Modbus协议学习第一篇之基础概念

因工作需要而接触Modbus,正在恶补知识,利用博客的方式来加深理解和记忆,同时希望同行大佬能一起交流。

hzf978742221的博客 880

Spring/Spring MVC、Spring Boot/Spring Cloud

一、 为什么要使用 spring? spring 提供 ioc 技术,容器会帮你管理依赖的对象,从而不需要自己创建和管理依赖对象了,更轻松的实现了程序的解耦。 spring 提供了事务支持,使得事务操作变的更加方便。 spring 提供了面向切片编程,这样可以更方便的处理某一类的问题。 更方便的框架集成,spring 可以很方便的集成其他框架,比如 MyBatis、hibernate 等。 二、解释一下什么是 aop? aop 是面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。

书香水墨 2273

基于STM32设计的遥控小车(手机APP+GPS+温湿度+ESP8266)

一、环境介绍 小车主控MCU: STM32F103ZET6 STM32程序开发IDE: keil5 STM32程序风格: 采用寄存器方式开发,注释齐全,执行效率高,方便移植 手机APP: 采用QT设计,程序支持跨平台编译运行(Android、IOS、Windows、Linux都可以编译运行,对应平台上QT的环境搭建,之前博客已经发了文章讲解) 硬件包含: 淘宝购买的完整一套4轮遥控小车(采用STM32F103ZET6作为主控板)、DHT11温湿度传感器、中科微GPS模块、ESP8266 ...

6万+

Spring/Spring MVC/Spring Boot/Spring Cloud

IOC 是一种容器思想,假如没有 IOC,我们开发中需要频繁创建 Bean 对象,而这些 Bean 对象大多是可以复用的,手动创建效率太低,耦合高,不利于扩展和维护。而用了 IOC 容器,可将 Bean 的创建和管理交给 IOC 容器,我们只需要关注 Bean 的依赖关系,需要时直接注入(DI),非常方便。AOP 是面向切面编程,是使用动态代理实现的可对方法进行增强的技术。有前置、返回、异常、最终和环绕通知。AOP技术。

qq_56087266的博客 731

基于STM32L4XX、HAL库的YT8531C-CA以太网收发器(PHY)驱动程序设计

是一款由裕太微推出的高性价比、低功耗的单端口 10/100M 以太网物理层收发器(PHY)。它通过标准的 MII(介质独立接口)或 RMII(精简介质独立接口)与微控制器的 MAC 层连接,实现将数字信号与网络模拟信号之间的转换。支持自动协商(Auto-Negotiation),自动选择最高速率和双工模式。支持 HP Auto-MDIX(自动交叉直连),无需区分直通线或交叉线。低功耗设计,特别适合电池供电或对功耗敏感的 STM32L4 应用。支持 MII 和 RMII 接口,节省引脚(RMII模式)。

zhusl6688的博客 628

StarRC:版本陈旧引发的多corner提取RC失败

运行StarRC提取多corner RC时会遇到提取失败的情况,当分次提取各个corner RC时却成功了,这种时候优先考虑nxtgrd版本陈旧的情况。解决办法是找到nxtgrd对应的itf文件,然后使用新版starrc去产生nxtgrd。debug方法也简单,在运行StarRC开始阶段会报告如下信息,就证明nxtgrd太老了。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 1829

Spring Boot/Spring MVC 的 Controller 接口中,接收前端参数

Data // Lombok自动生成get/set/toString表格接收方式适用场景请求类型 / Content-Type无注解 /@RequestParam少量基础参数GET / 表单参数RESTful 路径参数GET/POSTJSON 格式数据(主流)实体类(无注解)多个表单 / 查询参数GET/POST 表单数组 / List多值参数(复选框)GET / 表单文件上传请求头 / Cookie所有请求日常开发首选(简单参数)、(JSON 参数)、

hanwenqiang1995的博客 443

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Spring Boot/Spring MVC核心注解深度解析

本文将对Spring Boot和Spring MVC框架中最核心、最高频使用的15个注解进行深度剖析。我们将从请求路由映射(`@RequestMapping`系列)入手,详细讲解数据绑定、参数传递(`@RequestBody`, `@RequestParam`等)的机制,进而探讨RESTful架构中的控制器(`@RestController`)和组件管理(`@Service`, `@Autowired`)的精髓。通过丰富的代码示例和图表,帮助开发者全面掌握这些注解,并迅速提升Spring应用的开发效率和代码

此人很懒,什么都留下了...快进来看看吧 2036

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

spring / spring boot / spring mvc 的区别

Spring https://spring.io/projects/spring-framework The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of d...

金戈铁马 175

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【面试题-8】Spring/Spring MVC/Spring Boot/Spring Cloud

【面试题-8】Spring/Spring MVC/Spring Boot/Spring Cloud

小何的博客 2083

别再让静态资源404了!Spring Boot与Spring MVC中DispatcherServlet的‘/‘和‘/*‘配置实战解析

本文深入解析Spring Boot与Spring MVC中DispatcherServlet的'/'和'/*'配置差异,揭示静态资源404问题的根源。通过实战方案展示如何精确控制url-pattern、启用默认Servlet处理器及显式配置资源映射,帮助开发者高效解决静态资源加载问题,优化HTTP请求处理流程。

weixin_26841743的博客 388

Spring Boot / Spring MVC 入门实践 (二) :MVC与Spring MVC简介

本系列文章系本人原创,欢迎转载,转载请注明出处。 本系列文章通过具体的例子,介绍如何通过Spring Boot来帮助简化Spring MVC开发Web Application的过程,旨在通过具体的实践,使读者能够入门利用Spring Boot开发Web Application。

import_java_any的博客 6517

Spring MVC / Boot

https://stackoverflow.com/questions/5690228/spring-mvc-how-to-return-image-in-responsebody http://hw1287789687.iteye.com/blog/2188562 http://blog.youkuaiyun.com/clj198606061111/article/details/20743769 h...

weixin_30642267的博客 83

Spring Boot 2.x实战56 - Spring Web MVC 28 - HTTP/2应用

我们在前面已经配置SSL和开启了HTTP/2(https://blog.youkuaiyun.com/wiselyman/article/details/106121219),我们只需要在控制器方法里的参数使用javax.servlet.http.PushBuilder对象即可使用HTTP/2的推送技术。PushBuilder主动将资源推送到客户端(浏览器);这个特性也需要浏览器的支持,当然现代浏览器绝大部分都支持这个功能。 HttpBuilder属于builder模式,主要方法有: path:中间操作,指定需推送的

汪云飞记录本 427
上一篇: JAVA EE
下一篇: Linux
奈葵
博客等级 码龄4年 245粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值