综合( 右侧选择分类 )
hangge

SpringBoot - Lombok使用详解5(@log、@Buinder、@SneakyThrows、@Synchronized)

七、Lombok注解详解(4)12,@log(1)该注解用在类上,可以省去从日志工厂生成日志对象这一步,直接进行日志记录,具体注解根据日志工具的不同而不同。不同的日志注解总结如下(上面是注解,下面是实际作用):我们也可以在注解中使用 topic 来指定生成 log 对象时的类名。@CommonsLog private static final org.apache.commons.logging
2260 人浏览
hangge

SpringBoot - Lombok使用详解4(@Data、@Value、@NonNull、@Cleanup)

六、Lombok 注解详解(3)8,@Data(1)@Data 是一个复合注解,用在类上,使用后会生成:默认的无参构造函数、所有属性的 getter、所有非 final 属性的 setter 方法,并重写 toString、equals、hashcode 方法。package com.example.demo; import lombok.Data; @Data public c
2631 人浏览
hangge

SpringBoot - Lombok使用详解3(@NoArgsConstructor、@AllArgsConstructor、@RequiredArgsConstructor)

五、Lombok 注解详解(2)5,@NoArgsConstructor注解在类上,为类提供一个无参的构造方法。注意:当类中有 final 字段没有被初始化时,编译器会报错,此时可用 @NoArgsConstructor(force = true),然后就会为没有初始化的 final 字段设置默认值 0 / false / null。对于具有约束的字段(例如 @NonNull 字段),不会生成检查
5955 人浏览
hangge

SpringBoot - Lombok使用详解2(@Setter、@Getter、@ToString、@EqualsAndHashCode)

四、Lombok 注解详解(1)1,@Setter 和 @Getter(1)这两个注解用于生成 setter 和 getter 方法,可以用在类或者属性上:如果用在属性上:则只为该属性提供 setter 和 getter 方法如果是用在类上:则为这个类所有属性供 setter 和 getter方法(2)下面我们在一个类上添加 @Setter 和 @Getter 注解:package com.exa
2007 人浏览
hangge

SpringBoot - Lombok使用详解1(基本介绍、安装配置、var和val)

我们创建 POJO 类时,经常需要先写属性,然后手写或者自动生成 get 和 set 方法,然后还要重写 toString 方法....一系列操作下来,这个 POJO 类便会产生太多的样板式代码。 这种传统的方式不仅使得代码十分臃肿,有时也不方便维护,比如:当变量名或者是修饰符改变了,我们就要删除 set、get 方法重新生成。 而 Lombok 出现就是为了解决代码书写的冗余问题,下面对其进行详
1842 人浏览
hangge

SpringBoot - 获取POST请求参数详解(附样例:表单数据、json、数组、对象)

在前文中我介绍了 Controller 如何接收通过 GET 方式传递过来的参数(点击查看),下面接着演示如何接收通过 POST 方式传递过来的参数。一、接收 Form 表单数据1,基本的接收方法(1)下面样例 Controller 接收 form-data 格式的 POST 数据:package com.example.demo; import org.springframework.w
2717 人浏览
hangge

SpringBoot - 获取Get请求参数详解(附样例:非空、默认值、数组、对象)

利用 Spring Boot 来制作 Web 应用,就必定会涉及到前端与后台之间互相传递参数。下面演示 Controller 如何接收以 GET 方式传递过来的参数。 一、参数直接在路径中(1)假设请求地址是如下这种 RESTful 风格,hangge 这个参数值直接放在路径里面: http://localhost:8080/hello/hangge (2)Controller 可以这么获取
2268 人浏览
hangge

SpringBoot - @ControllerAdvice的使用详解3(请求参数预处理 @InitBinder)

我们知道无论是 Get 请求还是 Post 请求,Controller 这边都可以定义一个实体类来接收这些参数。而 @ControllerAdvice 结合 @InitBinder 还能实现请求参数预处理,即将表单中的数据绑定到实体类上时进行一些额外处理。三、请求参数预处理(搭配 @InitBinder)1,问题描述 (1)假设我们有如下两个实体类 User 和 Book:public class
2016 人浏览
hangge

SpringBoot - @ControllerAdvice的使用详解2(添加全局数据 @ModelAttribute)

二、添加全局数据(搭配 @ModelAttribute)1,设置全局数据(1)@ControllerAdvice 是一个全局数据处理组件,因此也可以在 @ControllerAdvice 中配置全局数据,使用 @ModelAttribute 注释进行配置。(1)这里我们在全局配置中添加了两个方法:message 方法:返回一个 String。userInfo 方法:返回一个 map。(2)这两个方
1878 人浏览
hangge

SpringBoot - @ControllerAdvice的使用详解1(全局异常处理 @ExceptionHandler)

顾名思义,@ControllerAdvice 就是 @Controller 的增强版。@ControllerAdvice 主要用来处理全局数据,一般搭配 @ExceptionHandler、@ModelAttribute、@InitBinder 使用。下面分别进行介绍。一、全局异常处理(搭配 @ExceptionHandler)1,基本用法(1)@ControllerAdvice 最常见的使用场景
1602 人浏览
hangge

SpringBoot - 实现文件上传2(多文件上传、常用上传参数配置)

在前文中我介绍了 Spring Boot 项目如何实现单文件上传(点击查看),而多文件上传逻辑和单文件上传基本一致,下面通过样例进行演示。二、多文件上传1,代码编写(1)首先在 static 目录中创建一个 upload.html 文件,内容如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UT
2126 人浏览
hangge

SpringBoot - 实现文件上传1(单文件上传、常用上传参数配置)

Spring Boot 对文件上传做了简化,基本做到了零配置,我们只需要在项目中添加 spring-boot-starter-web 依赖即可。一、单文件上传1,代码编写(1)首先在 static 目录中创建一个 upload.html 文件,内容如下:<!DOCTYPE html> <html lang="en"> <head> <meta
1721 人浏览
hangge

SpringBoot - 获取Get请求参数详解(附样例:非空、默认值、数组、对象)

利用 Spring Boot 来制作 Web 应用,就必定会涉及到前端与后台之间互相传递参数。下面演示 Controller 如何接收以 GET 方式传递过来的参数。一、参数直接在路径中(1)假设请求地址是如下这种 RESTful 风格,hangge 这个参数值直接放在路径里面:http://localhost:8080/hello/hangge(2)Controller 可以这么获取该参数:p
3230 人浏览
hangge

SpringBoot - @ControllerAdvice的使用详解3(请求参数预处理 @InitBinder)

我们知道无论是 Get 请求还是 Post 请求,Controller 这边都可以定义一个实体类来接收这些参数。而 @ControllerAdvice 结合 @InitBinder 还能实现请求参数预处理,即将表单中的数据绑定到实体类上时进行一些额外处理。三、请求参数预处理(搭配 @InitBinder)1,问题描述 (1)假设我们有如下两个实体类 User 和 Book:public class
3632 人浏览
hangge

SpringBoot - @ControllerAdvice的使用详解2(添加全局数据 @ModelAttribute)

二、添加全局数据(搭配 @ModelAttribute)1,设置全局数据(1)@ControllerAdvice 是一个全局数据处理组件,因此也可以在 @ControllerAdvice 中配置全局数据,使用 @ModelAttribute 注释进行配置。(1)这里我们在全局配置中添加了两个方法:message 方法:返回一个 String。userInfo 方法:返回一个 map。(2)这两个方
2327 人浏览
hangge

SpringBoot - @ControllerAdvice的使用详解1(全局异常处理 @ExceptionHandler)

顾名思义,@ControllerAdvice 就是 @Controller 的增强版。@ControllerAdvice 主要用来处理全局数据,一般搭配 @ExceptionHandler、@ModelAttribute、@InitBinder 使用。下面分别进行介绍。一、全局异常处理(搭配 @ExceptionHandler)1,基本用法(1)@ControllerAdvice 最常见的使用场
2694 人浏览
hangge

SpringBoot - 实现文件上传2(多文件上传、常用上传参数配置)

在前文中我介绍了 Spring Boot 项目如何实现单文件上传(点击查看),而多文件上传逻辑和单文件上传基本一致,下面通过样例进行演示。 二、多文件上传1,代码编写(1)首先在 static 目录中创建一个 upload.html 文件,内容如下: <!DOCTYPE html> <html lang="en"> <head> <meta c
2517 人浏览
hangge

SpringBoot - 实现文件上传1(单文件上传、常用上传参数配置)

Spring Boot 对文件上传做了简化,基本做到了零配置,我们只需要在项目中添加 spring-boot-starter-web 依赖即可。一、单文件上传1,代码编写(1)首先在 static 目录中创建一个 upload.html 文件,内容如下:<!DOCTYPE html> <html lang="en"> <head> <meta
2923 人浏览
hangge

SpringBoot - 解决跨域请求问题(No 'Access-Control-Allow-Origin' header is...)

在开发前后端分离的项目时,常常会碰到跨域请求的问题。即由于浏览器的安全性限制,不允许AJAX访问协议不同、域名不同、端口号不同的数据接口,否则会出报No 'Access-Control-Allow-Origin' header is present on the requested resource.错误。 Spring Boot支持通过设置CORS(跨源资源共享)来解决跨域请求
3678 人浏览
hangge

SpringBoot - 实现静态资源的访问(附:修改过滤规则、静态资源位置)

一、默认静态资源访问策略(1)当我们使用IntelliJ IDEA创建Spring Boot项目,会默认创建classpath:/static/目录,我们直接把静态资源放在这个目录下即可。(2)我们直接在浏览器中输入“http://localhost:8080/java.png”即可看到我们添加的这张图片。二、自定义策略如果默认的静态资源过滤策略不能满足开发需求,也可以自定义静态资源过滤策略,自定
2511 人浏览