SpringBoot笔记

类的封装

类的封装

//使用注解自动生成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上)

posted @   MaximeSHE  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示