首页 > 其他分享 >SpringBoot笔记

SpringBoot笔记

时间:2024-09-27 22:00:44浏览次数:1  
标签:Result return SpringBoot private 笔记 请求 public String

类的封装

类的封装

//使用注解自动生成Setter、Getter、toString、无参构造函数、全参构造函数
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Emp {
    private Integer id; //ID
    private String username; //用户名
    private String password; //密码
    private String name; //姓名
    private Short gender; //性别 , 1 男, 2 女
    private String image; //图像url
    private Short job; //职位 , 1 班主任 , 2 讲师 , 3 学工主管 , 4 教研主管 , 5 咨询师
    private LocalDate entrydate; //入职日期
    private Integer deptId; //部门ID
    private LocalDateTime createTime; //创建时间
    private LocalDateTime updateTime; //修改时间
}

返回结果的封装

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Result {
    private Integer code;//响应码,1 代表成功; 0 代表失败
    private String msg;  //响应信息 描述字符串
    private Object data; //返回的数据
    //成功响应
    public static Result success() {
        return new Result(1, "success", null);
    }

    public static Result success(Object data) {
        return new Result(1, "success", data);
    }
    //失败响应
    public static Result error(String msg) {
        return new Result(0, msg, null);
    }
}

Controller

请求参数相关

// controller/HelloController.java
// 注意函数和类的注解
@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello() {
        System.out.println("Hello World~");
        return "Hello World~";
    }
}

简单请求参数

@RequestMapping("/simpleParam")
public String simpleParam(@RequestParam(name = "name", required = false) String username, Integer age) {
    System.out.println(username + ": " + age);
    return "OK";
}

实体请求参数

需要先定义一个类,类中的属性名与请求参数中的键名相同,类需要生成getter, setter方法和toString()方法(用于输出调试)

@RequestMapping("/simplePojo")
public String simplePojo(User user) {
    System.out.println(user);
    return "OK";
}

请求URL地址:http://localhost:8080/simplePojo?name=Tom&age=22

复杂实体请求参数

@RequestMapping("/complexPojo")
public String complexPojo(User user) {
    System.out.println(user);
    return "OK";
}

请求URL地址:http://localhost:8080/complexPojo?name=Tom&age=22&address.province=Shanghai&address.city=Shanghai

数组请求参数

传递数组参数时就是把同一个键传入多次值

@RequestMapping("/arrayParam")
public String arrayParam(String[] hobby) {
    System.out.println(Arrays.toString(hobby));
    return "OK";
}

请求URL地址:http://localhost:8080/arrayParam?hobby=Reading&hobby=Sports

日期时间类型

传递日期时间参数时需要设置时间的格式,添加@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")

@RequestMapping("/dateParam")
public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")LocalDateTime updateTime) { //注意:需要在变量前添加@RequestParam
    System.out.println(updateTime);
    return "OK";
}

请求URL地址:http://localhost:8080/dateParam?updateTime=2024-08-20 19:56:00

业务逻辑相关

  • controller(接收请求,响应数据)
  • service(业务逻辑处理)
  • dao(数据访问操作)

分层解耦

IOC(控制反转)和DI(依赖注入)

声明bean的注解有:

IOC容器

通过给类添加注解来将类的实例对象转入IOC容器,然后在调用处进行注入

@Component(子类,用于工具类), @Controller(用在Controller上), @Service(用在Service上), @Repository(用在Dao上)

标签:Result,return,SpringBoot,private,笔记,请求,public,String
From: https://www.cnblogs.com/scy157609962/p/18436675

相关文章

  • SpringBoot整合JPA实现CRUD详解
    SpringBoot版本是2.0以上(2.6.13)JDK是1.8一、依赖<dependencies><!--jdbc--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jdbc</artif......
  • springboot+vue柚趣商城【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,电子商务已成为推动全球经济增长的重要力量。特别是在“新零售”与“社交电商”兴起的背景下,消费者对购物体验的要求日益提升,不仅追求商品的多样性与品质,更渴望在购物过程中获得乐趣与社交互动。柚趣商城应运......
  • springboot+vue幼儿园管理系统【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景随着社会对学前教育重视程度的不断提升,幼儿园作为儿童早期教育的重要场所,其管理水平直接影响着教育质量与幼儿的发展。当前,许多幼儿园仍采用传统的人工管理方式,不仅效率低下,还容易出现信息遗漏、统计错误等问题。在信息化时代背景下,构......
  • springboot+vue幼儿学前教育系统【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景:随着社会对幼儿教育重视程度的日益提升,构建一个高效、全面、安全的幼儿学前教育系统显得尤为重要。当前,传统幼儿教育管理模式面临着信息孤岛、家校沟通不畅、教育资源分配不均等问题,难以满足现代家庭对高质量学前教育的需求。特别是在......
  • 基于Java+Springboot+Vue开发的健身房管理系统源码+参考文章1.3万字
    项目简介该项目是基于Java+Springboot+Vue开发的健身房管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的健身房管理系统项目,大学生可以在实践中学习和提升......
  • 基于Java+Springboot+Vue开发的家具管理系统源码+开发文档
    项目简介该项目是基于Java+Springboot+Vue开发的家具管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的家具管理系统项目,大学生可以在实践中学习和提升自己......
  • 基于Java+Springboot+Vue开发的网上商城管理系统源码+文章
    项目简介该项目是基于Java+Springboot+Vue开发的网上商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的网上商城管理系统项目,大学生可以在实践中学习和......
  • 基于Java+Springboot+Vue开发的医院门诊预约挂号系统源码+参考文章1.2万字
    项目简介该项目是基于Java+Springboot+Vue开发的医院门诊预约挂号系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的门诊预约挂号管理系统项目,大学生可以在实践......
  • springboot+vue游泳馆管理系统【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景随着人们生活水平的提高和健康意识的增强,游泳作为一项全身性的运动,日益受到广大市民的青睐。游泳馆作为提供游泳服务的公共场所,其运营管理和服务质量直接影响到用户体验及健身效果。然而,传统的人工管理模式存在效率低下、信息滞后、容......
  • springboot+vue游戏资讯网站【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景随着互联网的飞速发展,电子游戏已成为全球范围内广泛流行的一种娱乐方式,其影响力渗透到了文化、社交、经济等多个领域。在这个背景下,游戏资讯的获取与传播变得尤为重要。玩家群体对于新游戏的发布、游戏攻略、赛事活动及行业动态等信息......