首页 > 其他分享 >【后端】SSM框架下REST风格代码注释详解

【后端】SSM框架下REST风格代码注释详解

时间:2023-06-30 17:03:59浏览次数:34  
标签:jdbc REST SSM flag 详解 Result 注解 Code public

前言 最近学习了一下SSM,不得不说,spring不用注解真的是天打雷劈,就那个bean真的就是折磨人。

下面是我总结的spring注解。

@Value 此注解可以用来获取导入的jdbc.properties文件的值。

@Value("${jdbc.driver}") private String driver;//用法是这样的 1 2 jdbc.properties文件:

jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/ssm_db jdbc.username=root jdbc.password=root 1 2 3 4 @Bean 此注解一般是写在方法前面,使这个返回值作为一个bean返回,交给spring管理。 例如现在这个数据库连接方法:

@Bean public DataSource dataSource(){ DruidDataSource dataSource = new DruidDataSource(); dataSource.setDriverClassName(driver); dataSource.setUrl(url); dataSource.setUsername(username); dataSource.setPassword(password); return dataSource; } 1 2 3 4 5 6 7 8 9 @Configuration 此注解用于设置当前类为配置类,一般用法如下

@Configuration public class SpringConfig { } 1 2 3 @ComponentScan 此注解用于批量注册bean,这个注解会让spring扫描指定包及其子包中所有的类,得到一批类的数组,然后将满足过滤器条件的类作为bean注册到spring容器中。 用法如下:

@ComponentScan({"com.itheima.service"}) 1 扫描com.itheima.service包下的类,然后注册为bean以供调用

@PropertySource 此注解通常用于连接数据库的配置文件,获取jdbc.properties的值 例:

@PropertySource("classpath:jdbc.properties") 1 jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/ssm_db jdbc.username=root jdbc.password=root 1 2 3 4 然后使用@Value可以获取jdbc里面的值

Import 此注解用于导入配置类 例如,我现在有两个配置文件JdbcConfig.class,MyBatisConfig.class 现在我要整合到SpringConfig.class配置类中,那么我们就要使用@import注解了 用法如下:

@Import({JdbcConfig.class,MyBatisConfig.class}) 1

@EnableTransactionManagement和@EnableWebMvc 开启MyBatis事务支持和开启SpringMVC注解支持 基本无脑加在SpringConfig配置类上就完事了 配置类基本上都是固定的,其他的按照需求改就行了

@RestController @RestController的作用等同于@Controller + @ResponseBody。 创建一个控制器类 类似于javaweb中的Servlet,为网站访问提供业务

@RestController public class BookController {} 1 2 @RequestMapping 用法:

@RequestMapping("/books") public class BookController {} 1 2 @Autowired 自动装配 省略了new方法,一步装配到位 比如说我有一个BookService类 我直接装配到我的Controller配置类当中 用法是这样的

@Autowired private BookService bookService; 1 2 REST风格注解 先看我做的笔记

http://localhost/users 查询全部用户信息 GET(查询) http://localhost/users/1 查询指定用户信息 GET(查询) http://localhost/users 添加用户信息 POST(新增/保存) http://localhost/users 修改用户信息 PUT(修改/更新) http://localhost/users/1 删除用户信息 DELETE(删除)

这里是网站申请服务的路径 然后我们看总的代码(Controller控制器类里面的方法)

@PostMapping//这里是保存 public Result save(@RequestBody Book book) { boolean flag = bookService.save(book); return new Result(flag ? Code.SAVE_OK:Code.SAVE_ERR,flag); }

@PutMapping//这里是修改
public Result update(@RequestBody Book book) {
    boolean flag = bookService.update(book);
    return new Result(flag ? Code.UPDATE_OK:Code.UPDATE_ERR,flag);
}

@DeleteMapping("/{id}")//这里是删除
public Result delete(@PathVariable Integer id) {
    boolean flag = bookService.delete(id);
    return new Result(flag ? Code.DELETE_OK:Code.DELETE_ERR,flag);
}

@GetMapping("/{id}")//这里是通过id查询
public Result getById(@PathVariable Integer id) {
    Book book = bookService.getById(id);
    Integer code = book != null ? Code.GET_OK : Code.GET_ERR;
    String msg = book != null ? "" : "数据查询失败,请重试!";
    return new Result(code,book,msg);
}

@GetMapping//这里是查询所有
public Result getAll() {
    List<Book> bookList = bookService.getAll();
    Integer code = bookList != null ? Code.GET_OK : Code.GET_ERR;
    String msg = bookList != null ? "" : "数据查询失败,请重试!";
    return new Result(code,bookList,msg);
}

标签:jdbc,REST,SSM,flag,详解,Result,注解,Code,public
From: https://blog.51cto.com/u_16175631/6591777

相关文章

  • 干货|三个维度详解 Taier 本地调试原理和实践
    在平时和开发者们交流的过程中,发现许多开发朋友尤其是新入门Taier的开发者,对于本地调试都有着诸多的不理解和问题。本文就大家平时问的最多的三个问题,服务编译,配置&本地运行,如何在Taier运行Flink-standalone,进行简单的介绍,希望和大家共同交流学习。服务编译在本章将介绍服务编......
  • vue3+tsx开发语法详解
    参考链接vue3+tsx开发语法详解vue3官方文档和jsx的使用......
  • 干货|三个维度详解 Taier 本地调试原理和实践
    在平时和开发者们交流的过程中,发现许多开发朋友尤其是新入门Taier的开发者,对于本地调试都有着诸多的不理解和问题。本文就大家平时问的最多的三个问题,服务编译,配置&本地运行,如何在Taier运行Flink-standalone,进行简单的介绍,希望和大家共同交流学习。服务编译在本章将介绍服......
  • VirtualBox安装RedHat Linux详解
    近期因为项目测试,需要安装RedHat Linux进行模拟,有接近10年没有接触RedHat了,遂对安装步骤做以记录,供参考。虚拟机本次采用小巧的VirtualBox6.1.18.142142,VirtualBox的安装就不再记录,与普通应用软件安装无异。以下是安装步骤记录:1、创建虚拟电脑 2、设置内存大小3、设置虚拟硬盘 4......
  • UWB定位系统的应用及技术架构详解
    UWB定位是通过TDOA到达时间差的算法来实现人员定位的,有抗遮挡、抗干扰的优点,更适用于室内定位。其次,UWB是一种实时定位技术,可以不停的上报当前的人员数据,实时性非常强。再者,UWB定位系统的超高精度,定位误差小于10cm,使企业能够很精确的对人员进行监控。最为重要的是,UWB定位系统还可提......
  • Kubernetes编程——client-go基础—— 深入 API Machinery —— REST 映射
    深入APIMachinery——REST映射 GVK与GVR之间的映射关系被称为REST映射。我理解意思是说:在Kubernetes中,RESTMapping(REST映射)用于将GroupVersionKind(GVK)与GroupVersionResource(GVR)之间建立映射关系。......
  • 01-typedef用法详解
    目录一.typedef作用于函数指针一.typedef作用于函数指针可以使得函数指针变量称为一种类型,可以作为数据类型定义该类型函数指针变量#include<stdio.h>voidtestCallback(inta,intb){ printf("%d",a+b);}intmain(){ typedefvoid(*FuncPoint)(int,int);......
  • Python Flask - 快速构建Web应用详解
    本文将详细探讨PythonFlaskWeb服务。我将首先简单介绍Flask,然后将逐步进入Flask中的路由、模板、表单处理以及数据库集成等高级概念,目标是能够让大家了解并掌握使用Flask来创建动态Web应用的技巧。1.Flask简介Flask是一个轻量级的Web服务器网关接口(WSGI)web应用框架。它被设计......
  • pyqt5-QPlainTextEdit与文本详解
    1、纯文本setPlainText(self,text:str)直接设置普通文本,不显示任何样式是组件整体进行设值appendPlainText(self,text:str)拼接纯文本如果拼接前的组件中已经输出文本,会换行再输出纯文本。如果未输出,则直接在首行输出纯文本insertPlainText(self,text:str)在......
  • 04-ES6语法:默认参数和rest参数
    本文我们分别介绍ES6中的默认参数和rest参数,下面我们分别进行说明和演示。下面是简单的屏幕分享,不爱看文字的同道中人可以看视频。-_-一、默认参数首先,我们先看看在ES5中是如何定义默认参数的方式,代码如下://ES5的默认参数值。functioncreateBox(width,height,color){......