Skip to content

icyfang/springboot-trial

Repository files navigation

springboot-trial

Log the experience of studying Spring Boot.

Contents

Spring Cache

使用 redis 和 ConcurrentMap 作为缓存容器。

集成功能:

  • 缓存加载、刷新、删除
  • 注解参数中使用 SpEL
  • 使用 redis 时,为 key 设置不同有效时间
  • keyGenerator

Spring MVC

集成功能:

  • @ControllerAdvice 实现全局异常处理和返回体包装
  • AOP 异常处理
  • 通过 @Component、@WebFilter、ServletContextInitializer 三种方式配置 Filter
  • jsr303
  • Swagger
  • AOP 记录请求参数

Spring JPA

集成功能:

  • 基础 crud
  • 实体类的继承
  • 多表关联
    • 多对多
    • 一对多
    • 一对一
  • JpaRepository 方法名解析
  • native query
    • 条件判断
    • 分页排序
  • Criteria 进行复杂条件查询
  • QueryDSL
  • JPQL
  • 通过 entity graph 解决 N+1 问题
  • 自动插入审计字段,记录 createTime、createUser 和 updateTime、updateUser
  • 实体操作监听
  • 多数据源
  • @Transactional 传播属性
  • @Version 实现乐观锁
  • 逻辑删除

Spring Security

Spring Security OAuth2

Spring Redis

使用 Redisson、Lettuce、RedisTemplate。集成功能:

  • RedisTemplate 进行增删改查
  • Redisson 实现 BloomFilter
  • 集群

Spring Context

集成功能:

  • @Conditional 实现不同环境下 Bean 配置
  • 容器生命周期
  • 属性加载
  • 使用 ImportSelector、ImportBeanDefinitionRegistrar 配置 Bean
  • @Aync 实现异步任务
  • @Scheduled 实现定时任务

Swagger

Mybatis Plus

包括 Mybatis 和 Mybatis Plus。集成功能:

  • 扩展 BaseMapper#insert,实现 batch insert
  • LocalDate 和 LocalDateTime 的 TypeHandler
  • association

RabbitMQ

About

spring boot 学习实践记录

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages