目录一、SpringBootApplication 背后的秘密1、@Configuration2、@ComponentScan3、@EnableAutoConfiguration二、深入探索 SpringApplication 执行流程总结我们开发任何一个 Spring Boot 项目,都会用到如下的启动类@SpringBootApplication p ......
281
0
0
2023-04-27
目录Spring里的占位符占位符是在Spring生命周期的什么时候处理的例子1Mybatis 的 MapperScannerConfigurer引起的占位符没有处理例子2Spring boot自身实现问题,导致Bean被提前初始化实现spring boot starter要注意不能导致bean提前初始化总结Spring里的占位符spring里的占位符通常表现 ......
309
0
0
2023-04-27
目录一、分布式锁是什么1、获取锁2、释放锁二、代码实例上面代码存在锁误删问题:三、基于SETNX实现的分布式锁存在下面几个问题1、不可重入2、不可重试3、超时释放4、主从一致性四、Redisson实现分布式锁1、pom2、配置类3、测试类五、探索tryLock源码1、tryLock源码尝试获取锁2、重置锁的有效期更新有效期3、调用lua脚本六、释放锁unlo ......
357
0
0
2023-04-27
目录后端实现1. 数据库设计2. 创建 Maven 项目3. 配置数据库4. 创建实体类5. 创建 Repository6. 创建 Service7. 创建 Controller8. 启动应用9. 完整的SecurityConfig.java:前端实现1. 创建 Vue.js 项目2. 添加依赖3. 配置 Axios4. 创建路由5. 创建页面6. 添加 E ......
247
0
0
2023-04-26
目录一、技术介绍二、项目介绍三、项目搭建四、项目展示一、技术介绍1.chatgpt-java是一个OpenAI的Java版SDK,支持开箱即用。目前以支持官网全部Api。支持最新版本GPT-3.5-Turbo模型以及whisper-1模型。2.Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发 ......
666
0
0
2023-04-26
目录前言1.使用验证注解2.使用自定义验证注解3.在服务器端验证4.提供有意义的错误信息5.将 i18n 用于错误消息6.使用分组验证7.对复杂逻辑使用跨域验证8.对验证错误使用异常处理9.测试你的验证逻辑10.考虑客户端验证总结前言参数验证很重要,是平时开发环节中不可少的一部分,但是我想很多后端同事会偷懒,干脆不错,这样很可能给系统的稳定性和安全性带来严重 ......
296
0
0
2023-04-26
目录一 数据库操作框架的历程1.1 JDBC1.2 DBUtils1.3 HibernateHibernate 优势Hibernate劣势1.4 JDBCTemplate1.5 Mybatis二 MyBatis的配置文件详解2.1 MyBatis日志配置2.2 mybatis-config.xml全局配置文件详解2.3 Mybatis SQL映射文件详解三 ......
340
0
0
2023-04-21
目录1 线程池的优势2 线程池的使用3 线程池的工作原理4 线程池的参数4.1 任务队列(workQueue)4.2 线程工厂(threadFactory)4.3 拒绝策略(handler)5 功能线程池5.1 定长线程池(FixedThreadPool)5.2 定时线程池(ScheduledThreadPool )5.3 可缓存线程池(CachedThre ......
354
0
0
2023-04-21
目录Spring事务传递机制原理一、Propagation.NERVER的测试二、Propagation.REQUIRED的测试三、Propagation.NESTED的测试四、Propagation.REQUIRED_NEW的测试五、NOT_SUPPORTED的测试六、NOT_SUPPORTED的测试Spring事务传递机制原理首先,我们通过org.spr ......
379
0
0
2023-04-21
数据库连接池百度百科数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。什么是数据库连接池数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突 ......
424
0
0
2023-04-21
目录前言Spring Seciruty简单介绍认证(Authentication)授权(Authorization)实现简单介绍准备阶段Maven统一错误码统一返回定义数据库设计基于表单认证核心配置通过注解形式实现哪些需要资源不需要认证自定义认证异常实现自定义授权异常实现自定义登录成功、失败自定义登出自定义认证基于Token认证核心配置Token创建Toke ......
315
0
0
2023-04-21
4、原理-手写IoC我们都知道,Spring框架的IOC是基于Java反射机制实现的,下面我们先回顾一下java反射。4.1、回顾Java反射Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。简单来说,反射机制 ......
269
0
0
2023-04-21
目录一.自定义工具类定义二.SpringBoot 集成开源缓存组件1.开源缓存组件2.缓存注解3.缓存测试(caffeine)1.Pom依赖2.Yml配置(指定缓存实现类型)3.项目启动类4.自定义缓存配置5.测试类6.测试记录一.自定义工具类定义package com.demo.utils; import org.springframework.ut ......
292
0
0
2023-04-20
目录1 数据库表结构设计2 方案一2.1 控制层CommentOneController.java2.2 service类CommentService.java2.3 service实现类CommentServiceImpl.java2.4 数据库持久层类CommentMapper.java2.5 实体类Comment.java2.6 使用Postman请求 ......
329
0
0
2023-04-20
目录1. 创建隐私数据类型枚举:PrivacyTypeEnum2. 创建自定义隐私注解:PrivacyEncrypt3. 创建自定义序列化器:PrivacySerializer4. 隐私数据隐藏工具类:PrivacyUtil5. 注解使用关于数据脱敏,网上的文章都是硬编码规则,比如对身份证,手机号,邮件地址等固定写法脱敏。本文在此基础上,拓展动态从数据库查出 ......
482
0
0
2023-04-20