springboot中的一些常用的知识
1.lombok
lombok就是为了简化代码的
@Data注释
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Person {
private String name;
private String address;
private Integer age;
private String hobbit;
private String phone;
}
@Data : 注在类上,提供类的get、set、equals、hashCode、toString等方法
@AllArgsConstructor :注在类上,提供类的全参构造
@NoArgsConstructor :注在类上,提供类的无参构造
@Setter :注在属性上,提供 set 方法
@Getter :注在属性上,提供 get 方法
@EqualsAndHashCode :注在类上,提供对应的 equals 和 hashCode 方法
@Log4j/@Slf4j :注在类上,提供对应的 Logger 对象,变量名为 log
2.@RequestBody
可以将前端的json变成后端的java对象
例如:
// 新增或者更新 @PostMapping public boolean save(@RequestBody User user) { return userService.saveOrUpdate(user); }
3.@PathVariable注解
@PathVariable 映射 URL 绑定的占位符
通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过
@PathVariable(“xxx”) 绑定到操作方法的入参中。
一般与@RequestMapping一起使用
@RequestMapping("/getUserById/{name}") public User getUser(@PathVariable("name") String name){ return userService.selectUser(name); }
1、若方法参数名称和需要绑定的url中变量名称一致时,可以简写:
@RequestMapping("/getUser/{name}") public User getUser(@PathVariable String name){ return userService.selectUser(name); }
2、若方法参数名称和需要绑定的url中变量名称不一致时,写成:
@RequestMapping("/getUserById/{name}") public User getUser(@PathVariable("name") String userName){ return userService.selectUser(userName); }
3.@PathVariable
一、注解解释
@PathVariable 映射 URL 绑定的占位符
通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过
@PathVariable(“xxx”) 绑定到操作方法的入参中。
一般与@RequestMapping一起使用
@RequestMapping("/getUserById/{name}") public User getUser(@PathVariable("name") String name){ return userService.selectUser(name); }
1、若方法参数名称和需要绑定的url中变量名称一致时,可以简写:
@RequestMapping("/getUser/{name}") public User getUser(@PathVariable String name){ return userService.selectUser(name); }
2、若方法参数名称和需要绑定的url中变量名称不一致时,写成:
@RequestMapping("/getUserById/{name}") public User getUser(@PathVariable("name") String userName){ return userService.selectUser(userName); }
4.@RestController
-
@RestController
注解,相当于@ResponseBody
+@Controller
-
Spring 4.0
引入了@RestController
,这是一个控制器的专用版本
,它是一个方便的注释。
通过使用
@RestController
批注对控制器类进行注释,您不再需要将@ResponseBody
添加到所有请求映射方法中。@ResponseBody
注释默认处于活动状态。
5.@Resource和@Autowired
这两个都可以用做注入Service服务对象
和
这两个都是可以用的,具体区别可以百度一下
6.Mybatis-plus的配置
首先需要加入依赖
然后在.yml中可以加入扫描文件配置
mybatis-plus:
mapper-locations: classpath:mapper/*.xml #扫描所有mybatis的xml文件
还有一个就是不要忘了这个文件MybatisPlusConfig,剩下的都可以用代码生产器生成
package com.xxxx.demo.config; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * @ClassName MybatisPlusConfig * @Description * @Author Lishipu * @Date 2023/1/9 22:51 * Version 1.0 **/ @Configuration @MapperScan("com.xxxx.demo.mapper") public class MybatisPlusConfig{ @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); return interceptor; } }
7.hutool工具实现md5加密
加入依赖:
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.20</version> </dependency>
md5加密:
String s1 = md5.digestHex("123456");
8.头像
类似一个这个效果:
这里是这样的,不能是直接<img :src=dAvatarUrl>,这样是错误的