- 博客(29)
- 收藏
- 关注
原创 快速搭建最简单的前端项目vue+View UI Plus
Vue是一套用于构建Web前端界面的渐进式JavaScript框架。它以其易学易用、性能出色、灵活多变而深受开发者喜爱,并且与其他前端框架(如React和Angular)相比,在国内市场上受到了广泛的认可和使用。点击进入。View UI Plus 是 View Design 设计体系中基于 Vue.js 3 的一套 UI 组件库,主要用于企业级中后台系统。
2024-09-11 17:55:49
1150
1
原创 如何规避SQL注入漏洞
对于很多初学者而言,SQL注入攻击是一种很容易被忽略的安全漏洞,其原理很简单,在日常编码中需要注意规避,养成良好的系统安全意识。
2024-09-08 16:47:40
698
原创 Spring Boot3.x 启动自动执行sql脚本
ALWAYS:始终初始化数据库EMBEDDED:仅初始化嵌入式数据库NEVER:从不初始化数据库spring.sql.init.enabled:初始化的开关,默认是true。spring.sql.init.username:初始化脚本的用户名spring.sql.init.password:初始化脚本的密码spring.sql.init.schema-locations:配置与schema变更相关的sql脚本,多个用分号割开。
2024-09-08 15:28:15
1387
原创 0to1使用Redis实现“登录验证”次数限制
账号登录时,当前账号“登录失败次数”默认+1。设置“登录失败次数”失效的时间(即锁定时间)。当“登录失败次数”大于某个阈值时,就直接返回错误提示,不再走验证逻辑。账号登录成功,清除“登录失败次数”,重新计数。注意:第2步和第3步,可以交换顺序。第2步在前时,锁定中发起请求会导致重新计时。第3步在前时,锁定中发起请求不会导致重新计时。
2024-09-06 18:38:42
905
原创 0to1使用JWT实现登录认证
JSON Web Token(缩写JWT)是目前流行的跨域认证解决方案,其本质上也是一种token,但是JWT通过纯算法验证合法性,因此无需在服务器存储token数据或者保存用户状态,降低了服务器消耗,也便于系统之间解耦。本章主要讲解使用JWT实现登录认证,并使用redis解决JWT无法主动失效的问题。
2024-09-05 18:58:53
695
原创 Spring全局异常处理HandlerExceptionResolver使用
全局异常处理在项目中经常会用到,主要作用包括统一处理异常、提供友好的错误信息、避免应用程序崩溃、记录异常日志、避免异常信息泄露等等。下文将以实现HandlerExceptionResolver接口的方式,实现全局异常处理功能及常规用法。
2024-09-04 15:06:36
1381
原创 SpringBoot3.x+MyBatisPlus+druid多数据源配置
本章主要介绍SpringBoot3.x多数据源配置,以及在此基础上配置分页拦截,自动填充功等功能,源码链接在文章最后。下面列出几个重要文件进行介绍。
2024-09-03 18:20:33
2802
原创 Spring Cloud Alibaba 快速学习之 Gateway
Gateway顾名思义就是“网关”的意思,旨在为微服务提供统一的访问入口,然后转发到各个微服务,通常可以在网关中统一做安全认证、监控、限流等等功能,避免每个微服务都重复实现这些功能。
2024-09-01 15:30:23
1291
原创 SpringBoot+Redis极简整合
Redis是现在最受欢迎的NoSQL数据库之一,下面将以最简洁的代码演示,在SpringBoot中使用redis。
2024-08-31 12:31:04
1085
原创 Spring Security基于token的极简示例
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,但是用起来有点复杂,为了便于学习理解,下面将用最简洁的配置和示例,展示整个流程。
2024-08-30 17:23:46
1287
原创 Mybatis Plus乐观锁实现
乐观锁的主要作用在于提高系统的并发性能和减少锁冲突,同时保证数据的一致性。其原理简单来说就是,在修改数据的时候,判断数据是否被其他人改过,如果已被其他人改过,则修改失败。
2024-08-27 18:12:26
1418
原创 Docker一行命令安装MySQL
在Linux系统中安装MySQL数据库是一件繁琐的事情,经常遇到各种问题,浪费大量时间。Docker的出现很好的解决这个问题,下面然我们来学习如何在Docker中用一行命令安装MySQL。
2024-08-26 16:41:14
498
原创 RocketMQ 与 Spring Cloud Stream之事务消息配置
RocketMQ的事务消息设计是为了解决分布式系统中数据一致性的问题。在分布式系统中,由于数据可能分布在不同的服务或节点上,因此需要一种机制来确保数据的最终一致性。事务消息通过引入本地事务和消息状态的关联,确保了消息的发送与本地事务的执行结果紧密相关,从而避免了数据不一致的问题。
2024-08-25 18:06:50
1517
原创 SpringBoot 3.x+Mybatis Plus多数据源极简配置
创建一个名为mybatis-plus-demo的项目,使用Maven+JDK17。不会的请看,最终项目结构,如下图。
2024-08-23 19:00:48
1354
1
原创 使用IntelliJ IDEA将本地项目推送到远程Git
注意,提交时选择 Commit 而不是 Commit and Push,因为gitee创建项目时会生成README.md文件,可能会和本地文件冲突。>>Git,然后配置自己的Git的路径,然后点ok。可以看到我的仓库地址为:https://gitee.com/dj-dev-test/djdragon.git。刷新gitee网页,可以看到页面上的内容和备注和我们提交的一致,说明推送成功。打开行命令,输入git remote add origin 您的仓库地址。点击ok后,这里就会出现Commit功能的图标。
2024-08-21 17:56:38
1616
原创 Spring Cloud Alibaba 快速学习之 RocketMQ
RocketMQ 是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。同时,广泛应用于多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、移动应用、手游、视频、物联网、车联网等。
2024-08-21 12:20:18
2400
原创 Spring Cloud Alibaba 快速学习之 Sentinel
在微服务系统中,一个对外的业务功能可能会涉及很长的服务调用链路。当其中某个服务出现异常,如果没有服务调用保护机制可能会造成该服务调用链路上大量相关服务直接或间接调用的服务器仍然持续不断发起请求,最终导致相关的所有服务资源耗尽产生异常发生雪崩效应。限流和降级分别作为在流量控制和服务保护方面的两个重要手段,可以有效地应对此类问题。Sentinel以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。本章将快速讲解Sentinel的简单应用,阅读前需要先了解前置章节。
2024-08-18 16:47:16
1456
原创 Spring Cloud Alibaba 快速学习之 OpenFeign
当调用user-a的/test/get服务时,就会通过注入的ServerAClient,再通过配置的openfeign服务,调用到spring.application.name=server-a的/test/get服务。注意,这里的方法需要和server-a项目的一直,只是serverName属性稍作区别,变成 “this is server-b”,以便测试负载均衡。说明我们的三个服务都注册成功。注意,这里的spring.application.name,需要和server-a项目一直,以便测试负载均衡。
2024-08-17 14:58:57
1363
原创 关于程序员自我提升的一些看法
对于这个阶段的程序员来说,工作与能力提升是同时进行的,在工作中解决的所有问题都是一种提升。而一个人的精力是有限的,每天的时间是恒定的。之后,就是漫长的“搬砖”阶段,每天都是机械重复昨天的工作,在工作中编程能力已经很难提升,而且编程本身也无法给你提供更高价值了。在这个时候应该求变,去了解软件开发的各个环节,去了解行业相关的知识,去打造属于自己的职业知识体系,去提升各方面的能力。3,学会寻找团队和社区的支持,99%的问题都可以通过“搜索”解决,不要钻牛角尖,不要重复造轮子,因为时间就是金钱。
2024-08-15 13:01:52
215
原创 Spring Cloud Alibaba 快速学习之 Nacos
在Nacos控制台页面创建配置,Data Id为server-a-dev.properties,与application.properties配置文件内容相对应,配置内容为project.id=185,project.name=This is server a。在MainServerA.java上右键Run启动项目,可以看到控制台打印出了Nacos的相关信息,再看Nacos控制台的服务列表,我们启动的服务出现在列表中。同时,它也是强大的配置管理工具,支持配置的统一管理与动态刷新,适用于分布式环境。
2024-08-14 20:57:21
1011
原创 Spring Boot 和 MyBatis-Plus 的简单整合
打开浏览器访问http://localhost:8080/UserController/insert,可以看到页面上打印“数据插入成功”,刚好和UserController类中的代码功能一致,同时控制台也打印出了insert语句,说明调用成功。MyBatis是一个强大且稳定的持久层解决方案,也是众多java程序员入门的首选,而MyBatis-Plus是MyBatis 的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。需要配置好自己的数据库连接,用户名,密码。
2024-08-13 17:11:45
3844
原创 IntelliJ IDEA快速创建Spring Boot项目
在学习Spring的相关组件时,会频繁创建Spring Boot项目,虽然spring官方提供了。在Main类上右键Run,等下方控制台看到“Started…”的字样,表示项目启动成功。加入springboot需要的依赖包,然后更新maven,并等待依赖下载完成。然后填写Name,选择Maven,选择JDK,然后点击Create。这个是配置文件,可以等用的时候再写内容,先空着。可以直接生成项目,但是还是没有直接创建方便。依次点击File》New》Project…然后点击New Window。
2024-08-13 11:24:17
561
原创 Spring Boot 和 Hibernate 的简单整合
打开浏览器访问http://localhost:8080/UserController/test,可以看到页面上有一行数据,刚好和UserController类中的代码功能一致,同时控制台也打印出了insert语句,说明调用成功。Spring Data JPA是由Spring公司开发的JPA应用框架,用于整合市面上已有的ORM框架,它默认使用Hibernate,可见Hibernate仍然是一个强大且稳定的持久层解决方案。需要配置好自己的数据库连接,用户名,密码。User类就是实体类,和数据库中的表对应。
2024-08-12 22:02:10
1970
原创 快速启动最简单的Spring Boot项目
打开IntelliJ IDEA,点击Open,然后选择刚才解压出来的demo文件夹,然后点击ok,然后再点击Trust Projct(有的没有这一步),然后当前窗口会自动关闭,并打开一个新的项目窗口,至此项目就导入到IntelliJ IDEA中了。4,启动后,可以在控制台,看到对应的启动端口是8080,然后用浏览器访问:http://localhost:8080/index,浏览器显示出“hello world”,表示项目已经成功启动。如下图,加入依赖后更新Maven,并等待依赖下载完成。
2024-08-11 20:33:10
2627
原创 IntelliJ IDEA下载安装
如果您致力于java开发,IntelliJ IDEA有可能会陪伴您10年或者更久,请善加使用,并在您有能力的时候去支持个正版,毕竟这是你吃饭的家伙😂。IntelliJ在业界被公认为最好的Java开发工具,请勿随意破解使用,请尊重和保护知识产权。这里下载社区版即可,也可以满足日常开发需求。,往下滑动,下载IntelliJ IDEA Community社区版。根据引导程序安装即可,注意有个勾选项页面,建议都勾上,如下图。双击桌面的快捷方式,打开后就长这样,然后就可以开始创建项目了。
2024-08-11 17:11:52
353
原创 JDK下载安装和基本配置
如下图,解压到了 D:\Program Files\JDK\java-17-openjdk-17.0.11.0.9-1.win.x86_64,记住这个路径,后面会用于配置环境变量。1,找到“环境变量”窗口。各个系统版本有所差异,一般来说,依次打开“我的电脑” -》右键 “属性” -》 “高级系统设置” -》 “环境变量(N)”,就能找到该页面。注意:如果您的JDK是安装版的不是解压版的,有可能安装程序在安装过程中自动配置了环境变量,您可以直接用第4步验证,验证成功则无须再次手动配置。
2024-08-11 13:56:38
674
原创 Maven下载安装和基本配置
Maven是一个用于构建和管理Java项目的工具,具体来说您经常会用到以下两个功能。1,Maven会帮你把项目中的pom.xml文件里面标注的依赖包下载到本地。如下图,把mybatis-plus需要用到的jar包自动下载到了项目中的External Libraries文件夹下。2,帮你把项目打包,以便把项目部署到各类服务器中。如下图,把mybatis-demo项目打包成了jar包。
2024-08-11 11:34:17
380
原创 java第一课,选择Open JDK还是Oracle JDK
Open JDK和Oracle JDK之间最大的区别在于,Open JDK是由Oracle、Red Hat和社区维护的开源项目,使用的是GPLv2 with Classpath Exception许可证,对于商业用途开放,可以免费使用。而Oracle JDK是闭源的,由Oracle维护,使用的是Oracle Binary Code License,对于商业用途存在一定的限制,而且需要付费。Oracle JDK和Open JDK都是Java开发工具包的软件和规范。
2024-08-10 17:14:07
612
2
View UI Plus基于vue的基础工程
2024-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人