springboot
文章平均质量分 84
springboot快速开发
五敷有你
稳中求进,多平安
展开
-
Spring事件
Slf4jlog.info(" WebSocketConnectEvent 事件产生!!!");原创 2024-05-04 10:08:26 · 1632 阅读 · 7 评论 -
spring的常用注解
例如,`@Pointcut("execution(* com.example.service.*.*(..))")`定义了一个切点,用于拦截`com.example.service`包下所有类的所有方法的执行。在@Configuration注解的类中,通过@Bean注解的方法可以定义并初始化Bean,然后由Spring的IOC容器来管理这些Bean。标识当前类是配置类,它包含了一个或多个@Bean注解的方法,这些方法会被Spring容器处理,用于生成bean定义和服务请求所需的对象。原创 2024-05-01 20:50:23 · 1724 阅读 · 54 评论 -
跨域问题一文解决
Web内容的源由用于访问它的URL 的方案(协议),主机(域名)和端口定义。只有当方案,主机和端口都匹配时,两个对象具有相同的起源。同源不同源一句话就可以判断:就是url中 scheme host port 都相同即为同源。下面认识下url 结构中的这三个部分。原创 2024-04-10 23:08:42 · 1508 阅读 · 4 评论 -
分布式唯一ID 雪花算法
由于41位是时间戳,我们的时间计算是从1970年开始的,只能使用69年,为了不浪费,其实我们可以用时间的相对值,也就是以项目开始的时间为基准时间,往后可以使用69年。获取唯一ID的服务,对处理速度要求比较高,所以我们全部使用位运算以及位移操作,获取当前时间可以使用。的问题,什么是时间回拨问题呢?就是服务器上的时间突然倒退到之前的时间。在获取时间的时候,可能会出现。原创 2024-04-02 22:11:38 · 1744 阅读 · 1 评论 -
Session与Redis的登录
原来的User实体类的可见信息太多,可以单独设立一个UserDTO文件,然后再转后,此时就出现了一个问题,两个类怎么相互转换。多台Tomcat并不共享Session存储空间,当请求切换到不同tomcat服务时,导致数据丢失的问题。有一个包hutool的类可以实现两个类的相互转换。再增加一个拦截器,单独拦截刷新token时间。在MVCCOnfig配置文件下加入拦截器。在utils包下写一个拦截器文件。原创 2023-11-18 15:06:39 · 1722 阅读 · 0 评论 -
全局ID生成器(应对分布式情况)
序列号:秒内的计数器,支持每秒生成2^32个不同ID。时间戳:31bit,以秒为单位,可以用69年。原创 2023-11-18 15:09:29 · 2191 阅读 · 0 评论 -
【SpringBoot】mybaitsPlus的多数据源配置
mybatis_plus库的product表移动到mybatis_plus_1库,这样每个库一张表,通过一个测试用例 分别获取用户数据与商品数据,如果获取到说明多库模拟成功。我们创建两个库,分别为: mybatis_plus(以前的库不动)与mybatis_plus_1 (新建),将。2、如果我们实现读写分离,将写操作方法加上主库数据源,读操作方法加上从库数据源,自动切换,是不是就能实现读写分离?目前我们就来模拟一个纯粹多库的一个场景,其他场景类似。当为true时,就严格@DS中的数据源,没有就报错。原创 2024-03-02 17:07:47 · 1755 阅读 · 25 评论 -
【SpringBoot】测试单元使用多线程
CountDownLatch 定义了一个计数器,和一个阻塞队列, 当计数器的值递减为0之前,阻塞队列里面的线程处于挂起状态,当计数器递减到0时会唤醒阻塞队列所有线程,这里的计数器是一个标志,可以表示一个任务一个线程,也可以表示一个倒计时器,CountDownLatch可以解决那些一个或者多个线程在执行之前必须依赖于某些必要的前提业务先执行的场景。今天学习了乐观锁,但在测试单元执行多线程的时候出现了问题,多线程并没有直接结果。在控制台没有任何输出结果。3.正确实例,运行成功!原创 2024-03-02 14:02:30 · 898 阅读 · 3 评论 -
【SpringBoot】JWT令牌
JWT简称JSON Web Token,也就是通过JSON形式作为Web应用的令牌,用于各方面之间安全的将信息作为JSON对象传输,在数据传输过程中。原创 2024-02-08 21:00:30 · 1214 阅读 · 7 评论 -
【SpringBoot】RBAC权限控制
通常情况下,一个系统,除了登陆也就是认证之外,还应该有一个重要的功能,就是鉴权,使用rbac可以很好的解决上述的问题。认证(authentication)-规定了谁能够登陆鉴权(authorization)-规定了谁能访问那些接口,浏览那些页面,使用哪些功能,RBAC(Role-Based Access Control )基于角色的访问控制。不同人,有不同的权限,老师有判卷权限,学生有答题的权限...RBAC语言中的角色通常是指一组具有某些特征的人,例如:部门 /地点/资历/工作职责等。原创 2024-02-04 18:57:03 · 2531 阅读 · 38 评论 -
【SpringBoot】SpringBoot的web开发
1)、创建SpringBoot应用,选中我们需要的模块;2)、SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来3)、自己编写业务代码;自动配置原理?这个场景SpringBoot帮我们配置了什么?能不能修改?能修改哪些配置?能不能扩展?xxx。原创 2024-02-04 13:12:10 · 1048 阅读 · 6 评论 -
【SpringBoot】SpringBoot的自动配置原理
其实这个spring.factorie文件就做了一件事,通过这种配置的方式加载了指定的类。转了一圈,就是个普通的bean的加载,和最初使用xml格式加载bean几乎没有区别,格式变了而已。原创 2024-01-31 12:25:38 · 1332 阅读 · 5 评论 -
ConfigurationProperties的宽松绑定
ConfigurationProperties绑定属性支持属性名宽松绑定。下面几种模式都是可以被上面识别。批量注入配置文件中的属性。原创 2023-10-26 16:24:07 · 2088 阅读 · 0 评论 -
@ConfigurationProperties无效果
通过@EnableConfigurationProperties对User进行实例化时,便会使用到@ConfigurationProperties的功能,对属性进行匹配赋值。原创 2023-10-29 19:23:20 · 4929 阅读 · 1 评论 -
spring的异常统一处理
首先明确,当你的代码遇到bug时会报错,那报错后不处理就会程序停止运行。那就需要异常捕获了,两种方法:一、try...catch...直接自己处理二、throws 将异常抛给调用者在spring的框架中,要求就是简洁,在大量的代码中有try..catch会导致很臃肿。所以大部分会采取抛异常的方法。但controller就是最高级别的调用了,由于 Controller 层为处于请求处理的最顶层,再往上就是框架代码的。所以需要在这一层处理异常。原创 2023-12-28 11:53:44 · 2659 阅读 · 7 评论 -
git的起步必学基础
开发的实际场景场景一:备份场景二:代码还原场景三:协同开发场景四:追溯代码的编写人和编写时间。原创 2023-12-22 23:27:23 · 1453 阅读 · 0 评论 -
代理抛出异常错误: java.rmi.server.ExportException: Port already in use: 1099; nested exception is
错误: 代理抛出异常错误: java.rmi.server.ExportException: Port already in use: 1099;错误原因:Port already in use: 1099,Address already in use: JVM_Bind 很明显。taskkill /f /t /im 进程名。win+R 输入cmd。原创 2023-12-21 11:48:30 · 934 阅读 · 1 评论 -
什么是ThreadLocal?
ThreadLocal是Java中一个特殊的类,它提供了线程局部变量。线程局部变量是指每个线程都拥有自己独立的变量副本,互不干扰。通过ThreadLocal,我们可以在多线程环境下实现数据的隔离,确保每个线程操作的是自己的数据而不会影响其他线程。ThreadLocal是Java中处理线程局部变量的有效工具,可以帮助我们在多线程环境下更好地管理和隔离数据。然而,在使用ThreadLocal时需要注意内存泄漏等问题,适度使用,才能更好地发挥其优势。原创 2023-12-18 15:33:40 · 1071 阅读 · 0 评论 -
@RequestMapping
该注解是一个用来处理请求的注解。可用于映射一个请求或一个方法,可以用在类或方法上。用于方法上,表示在类的父路径下追加方法上注解中的地址将会访问到该方法用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。原创 2023-11-24 20:19:15 · 2380 阅读 · 0 评论 -
vue+SpringBoot的图片上传
直接粘贴过来element-UI的组件实现。文件的存储位置一定要明确。原创 2023-11-23 15:34:12 · 3967 阅读 · 2 评论 -
@RequestBody与@RequestParam
不加@RequestParam注解:url可带参数也可不带参数,输入 localhost:8080/test 以及 localhost:8080/test?不加@RequestParam参数为非必传,加@RequestParam写法参数为必传。@RequestParam可以通过@RequestParam(“userId”)或@RequestParam(value = “userId”)指定传入的参数名。用于将请求参数的值绑定到方法的参数上。它通常用于处理 HTTP 请求中的查询参数或表单参数。原创 2023-11-25 14:31:22 · 1823 阅读 · 0 评论