JWT + Lombok + springboot

本文介绍了作者复习并深入学习SpringBoot2中的Lombok、JWT生成与解析、基础配置、单元测试(JUnit)、MyBatis和MyBatis-Plus整合等内容,强调了MyBatisPlus在项目中的重要性和JWT在实际应用中的运用。
摘要由CSDN通过智能技术生成

目录

1.今天所学内容摘要:

Lombok:

JWT:

SpringBoot:

1.基础配置

2.自定义对象封装指定数据

3.整合JUnit

4.整合MyBatis & 整合Druid

5.整合MyBatis-Plus

1.配置文件

2.MP分页拦截器

3.BaseMapper - IService - ServiceImpl

2.所遇到的问题描述:

3.扩展学习部分:

4.学习总结:

今天学习了SpringBoot2的相关内容,也学习了JWT令牌的相关内容;对于SpringBoot2的相关内容几乎都是复习式的学习,无论是整合JUint还是整合MyBatis亦或者是整合MyBatisPlus都是学习过的,在做项目的时候也会常用到的,但是项目中练习时总不会刻意去学习这些内容,这次也算是巩固一下,对于MyBatisPlus的使用是较为重要的需要常用,JWT在项目中也会用到,需要记忆;今天学习状态不好,快放假了,嘿嘿


1.今天所学内容摘要:

Lombok:

地址:Lombok 中 @Data、@AllArgsConstructor、@NoArgsConstructor、@Builder 注解的含义与使用_@data @builder @noargsconstructor @allargsconstruc-CSDN博客

JWT:

定义了一种简洁的、自包含的格式,用于在通信双方以ison数据格式安全的传输信息。由于数字签名的存在,信息是可靠的

1.依赖导入
<groupld>io.jsonwebtoken</groupld>
<artifactld>jjwt</artifactld>
<version>0.9.1</version>
    
2.生成JWT令牌
Calendar instance = Calendar.getInstance();
instance.add(Calendar.SECOND, 600); // Token 过期时间为 600s
String jwt = Jwts.builder()
  .signWith("SignatureAlgorithm.HS256", "T4mako")//签名算法
  .setClaims(map)//自定义内容 载荷
  .setExpiration(new Date(System.currentTimeMillis() + 3600*1000);//设置有效日期
  .compact();
//输出令牌
System.out.println(jwt);
​
3.解析令牌
Claims claims = jwts.parser()
    .setSigningKey("T4mako")//指定签名密钥
    .parseClaimsjws(令牌)//解析令牌
    .getBody();
System.out.println(claims)
​

地址:JSON Web Tokens - jwt.io

SpringBoot:

1.基础配置

//修改服务器端口
server.port=80
//关闭运行日志图标(banner)
spring.main.banner-mode=off
//设置日志相关
logging.level.root=debug

地址:Common Application Properties

2.自定义对象封装指定数据

1.在yml配置文件中配置数据
enterprise:
    name: itcast
    age: 18
    subject:
     - Java
     - 前端
2.自定义类封装数据
@Component  
@ConfigurationProperties(prefix = "enterprise")
public class Enterprise{
    private String name;
    private Integer age;
    private String[] subject;
}

注意:

  1. 使用@ConfigurationProperties注解绑定配置信息到封装类中

  2. 绑定前缀名命名规范:仅能使用纯小写字母、数字、下划线作为合法的字符

  3. 封装类需要定义为Spring管理的bean,否则无法属性注入;即配置@Component注解

  4. @EnableConfigurationProperties注解可以将使用@ConfigurationProperties注解对应的类加入Spring容器(配置启动类上)

  5. @EnableConfigurationProperties与@Component不能同时使用

  6. 如果报错导入依赖spring-boot-configuration-processor

3.整合JUnit

@SpringBootTest     //测试类注解
@SpringBootTest(classes = Springboot05JunitApplication.class)
class Springboot07JunitApplicationTests {}

注意:

  1. classes设置SpringBoot启动类

  2. 如果测试类在SpringBoot启动类的包或子包中,可以省略启动类的设置,也就是classes的设定

4.整合MyBatis & 整合Druid

//yml配置
spring:
 datasource:
  druid:
   driver-class-name: 
   url:
   username:
   password:

注意:

  1. MySQL8.X驱动强制要求设置时区;修改url,添加?serverTimezone设定即可

  2. 驱动类过时,需要更换为com.mysql.cj.jdbc.Driver

5.整合MyBatis-Plus

1.配置文件
//配置文件
mybatis-plus:
 global-config:
  db-config:
   table-prefix: tab1_          //配置表前缀
   id-type: auto                //配置ID生成方式(默认为雪花算法)
 configuration:
 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl      //设置MP调式日志,显示
2.MP分页拦截器
//使用MP分页时需配置分页拦截器
@Configuration
public class MyBatisPlusConfig {
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
        mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return mybatisPlusInterceptor;
    }
}
3.BaseMapper - IService - ServiceImpl
//数据层开发
public interface BookMapper extends BaseMapper<Book> {}  
//业务层开发
public interface BookService extends IService<Book> {}
//实现类
@Service
public class BookServiceImpl extends ServiceImpl<BookDao,Book> implements BookService

2.所遇到的问题描述:

3.扩展学习部分:

4.学习总结:

  • 今天学习了SpringBoot2的相关内容,也学习了JWT令牌的相关内容;对于SpringBoot2的相关内容几乎都是复习式的学习,无论是整合JUint还是整合MyBatis亦或者是整合MyBatisPlus都是学习过的,在做项目的时候也会常用到的,但是项目中练习时总不会刻意去学习这些内容,这次也算是巩固一下,对于MyBatisPlus的使用是较为重要的需要常用,JWT在项目中也会用到,需要记忆;今天学习状态不好,快放假了,嘿嘿
  • 22
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值