返回顶部
首页 > 资讯 > 后端开发 > Python >Spring中Controller应用深入理解
  • 456
分享到

Spring中Controller应用深入理解

SpringControllerSpringController原理SpringController注解 2022-12-08 20:12:27 456人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录概述1. 添加依赖2. 关于异常总结概述 Controller是spring接受并处理网页请求的组件,是整个应用的入口,因此学会Controller的常用注解对理解一个应用是重中

概述

Controller是spring接受并处理网页请求的组件,是整个应用的入口,因此学会Controller的常用注解对理解一个应用是重中之重。SpringBoot的Controller中经常会用到注解@Controller、@RestController、@RequestMapping、@RequestBody等,本短文主要对这些常用的Controller注解进行简单介绍。

1. 添加依赖

首先,需要保障此项目中存在spring-boot-starter-WEB依赖项,否则,当前项目并不具备Web应用程序开发所需的依赖!

提示:spring-boot-starter-web是建立在spring-boot-starter的基础之上的,即包含了spring-boot-starter,所以,在此次调整依赖项时,只需要将原有的spring-boot-starter改为spring-boot-starter-web即可!

<!-- Spring Boot框架支持web开发的依赖项 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

当项目中存在以上依赖项时,就具备了Web开发的依赖,且此依赖项中内置了Tomcat,当启用项目时,会自动将当前项目编译、打包、部署到内置的Tomcat上,并启动Tomcat。

在根包下创建controller.AlbumController类,将此类配置为控制器类,并处理“添加相册”的请求:

@RestController
@RequestMapping("/album")
public class AlbumController {
    @Autowired
    private IAlbumService albumService;
    // Http://localhost:8080/album/add-new?name=TestAlbum001&description=TestDescription001&sort=66
    @RequestMapping("/add-new")
    public void addNew(AlbumAddNewDTO albumAddNewDTO){
        albumService.addNew(albumAddNewDTO);
    }
}

完成后,启动项目,打开浏览器,通过http://localhost:8080/album/add-new?name=TestAlbum001&description=TestDescription001&sort=66可以测试添加数据!

提示:目前添加相册成功时,在浏览器中并不会有任何提示。

如果使用相同的请求参数反复提交请求,浏览器会显示500错误,这是因为没有处理异常所导致的!

2. 关于异常

可能出现的异常

  • 如果某个方法会抛出异常,则谁调用,谁处理;
  • 如果调用的方法抛出了异常,当前方法也没有使用try...catch进行捕获并处理,相当于当前方法抛出了此异常;
  • 如果服务器端程序运行时出现了异常,始终未被处理,框架默认的行为是响应500错误,此时应该检查服务器端的控制台,在控制台中应该有异常的相关信息;
  • 处理异常的本质是:告诉客户端执行失败,且失败的原因是什么,以至于客户端下次提交请求时可能成功,另外,对于某些特殊的情景,可能还需要补充执行一些其它代码;
  • 关于异常的捕获处理和抛出,在典型的服务器端项目中,Mapper、Service都不能处理异常,因为它们不与客户端直接交互,如果它们处理了异常,Controller将不知道出现过错误,反而响应“成功”的结果到客户端,但客户端的请求是没有达到预期的目标的,而Controller有义务处理异常,因为它是与客户端交互的组件

总结

本文只是对常用的一些@Controller层的注解进行简介,对这些注解组合使用,才能够达到想要完成的目的任务。

到此这篇关于Spring中Controller应用深入理解的文章就介绍到这了,更多相关Spring Controller内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Spring中Controller应用深入理解

本文链接: https://lsjlt.com/news/174591.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Spring中Controller应用深入理解
    目录概述1. 添加依赖2. 关于异常总结概述 Controller是Spring接受并处理网页请求的组件,是整个应用的入口,因此学会Controller的常用注解对理解一个应用是重中...
    99+
    2022-12-08
    Spring Controller Spring Controller原理 Spring Controller注解
  • 深入讲解SPI 在 Spring 中的应用
    目录一、概述二、Java SPI2.1 Java SPI2.2 源码分析三、Dubbo SPI3.1 基本概念3.2 Dubbo SPI3.3 源码分析四、Spring SPI4.1...
    99+
    2024-04-02
  • Spring深入了解常用配置应用
    目录常用配置一、别名二、bean 的配置三、import存在问题总结常用配置 现在这里简单了解一下spring 配置文件中的一些常用配置,在后面我们还会遇到更多的配置,在后文继续进行...
    99+
    2024-04-02
  • Spring的Controller怎么应用
    今天小编给大家分享一下Spring的Controller怎么应用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。概述Contr...
    99+
    2023-07-04
  • Spring之DI深入理解
    本篇内容主要讲解“Spring之DI深入理解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring之DI深入理解”吧!DI概念IoC 其实有两种方式,一种就...
    99+
    2024-04-02
  • 详解Spring Boot中Controller用法
    ControllerController是SpringBoot里最基本的组件,他的作用是把用户提交来的请求通过对URL的匹配,分配个不同的接收器,再进行处理,然后向用户返回结果。他的重点就在于如何从HTTP请求中获得信息,提取参数,并分发给...
    99+
    2023-05-31
    spring boot controller
  • 深入理解Golangchannel的应用
    目录前言整体结构创建发送接收关闭前言 channel是用于 goroutine 之间的同步、通信的数据结构 channel 的底层是通过 mutex 来控制并发的,但它为程序员提供了...
    99+
    2024-04-02
  • 深入理解spring boot 监控
    目录一、指标监控二、常用的监控端点 三、定制EndPoint四、spring boot admin(可以使用)一、指标监控 引入jar包: <de...
    99+
    2024-04-02
  • 深入浅出讲解Spring框架中AOP及动态代理的应用
    目录一. Spring AOP1. 传统问题:2. 问题的解决策略:3. AOP优点: 二. 动态代理1. JDK动态代理2. CGLIB代理一. Spring AOP &...
    99+
    2024-04-02
  • Spring中单例和多例的深入理解
    Spring单例和多例的理解 1、什么是单例和多例 单例:所有请求用同一个对象来处理。通过单例模式,可以保证系统中一个类只有一个实例。 多例:每个请求用一个新的对象来处理。 2、Sp...
    99+
    2024-04-02
  • 深入理解Python中\n的作用及应用
    在Python中,我们经常会见到`这个符号,它代表着换行符,用于表示文本中的换行。在本文中,我们将深入理解Python中`的作用及应用,并通过具体的代码示例来展示它的使用方式。 首先,...
    99+
    2024-04-02
  • Spring MVC中@Controller和@RequestMapping注解使用
    目录@Controller和@RequestMapping注解使用RequestMapping注解类型通过@RequestParam接收请求参数SpringMVC应用@Autowir...
    99+
    2024-04-02
  • 深入理解spring的AOP机制原理
    前言在软件开发中,散布于应用中多处的功能被称为横切关注点,通常来讲,这些横切关注点从概念上是与应用的业务逻辑相分离的。把这些横切关注点和业务逻辑分离出来正是AOP要解决的问题。AOP能够帮我们模块化横切关注点,换言之,横切关注点可以被描述为...
    99+
    2023-05-31
    spring aop sprin
  • 深入解析Golang中锁的原理和应用
    Golang中锁的原理及应用解析引言在并发编程中,常常会遇到多个 goroutine 同时访问共享资源的情况,一旦多个 goroutine 同时对共享资源进行读写操作,可能导致数据不一致性或者产生竞态条件。为了解决这个问题,Golang 提...
    99+
    2023-12-28
    Golang中锁的原理:锁机制 Golang中锁的应用:并发编程 Golang中锁的解析:互斥锁
  • SpringBoot中controller深层详细讲解
    在基于spring框架的项目开发中,必然会遇到controller层,它可以很方便的对外提供数据接口服务,也是非常关键的出口,所以非常有必要进行规范统一,使其既简洁又优雅。 cont...
    99+
    2023-02-02
    SpringBoot controller SpringBoot controller层
  • 深入理解Spring事务及传播机制之原理解析与实际应用
    目录事务概述事务管理事务传播机制事务传播机制实现框架源码解析总结Spring 框架是一个流行的Java应用程序框架,其中事务管理是其最重要的特性之一。事务是指一系列相关操作的集合,如...
    99+
    2023-05-16
    Spring事务及传播机制 Spring事务管理 Spring传播机制
  • 深入理解spring boot异步调用方式@Async
    本文主要给大家介绍了关于spring boot异步调用方式@Async的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:1.使用背景在日常开发的项目中,当访问其他人的接口较慢或者做耗时任务时,不想程序一直卡在耗时任务上,想程序能...
    99+
    2023-05-31
    springboot 异步调用 @async
  • 深入理解Vue3响应式原理
    目录响应式原理手写实现1、实现Reactive2、实现依赖的收集和触发effect影响函数收集/添加依赖触发依赖3、移除/停止依赖衍生类型1、实现readonly2、实现shallo...
    99+
    2022-12-19
    vue3响应式原理精讲 vue3 响应式 vue 响应式原理
  • 深入理解Spring中bean的生命周期介绍
    以ApplocationContext上下文单例模式装配bean为例,深入探讨bean的生命周期:(1).生命周期图:(2).具体事例:person类实现BeanNameAware,BeanFactoryAware接口public clas...
    99+
    2023-05-31
    spring bean 生命周期
  • 深入理解Spring Aop的执行顺序
    首先回忆一下 AOP 的常用注解 @Before:前置通知:目标方法之前执行 @After:后置通知:目标方法之后执行 @AfterReturning:返回...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作