- 博客(8)
- 收藏
- 关注
原创 用Vue3结合Pinia自定义cookieStorage做自动登录
js-cookie是一个JavaScript库,用来操作cookie} else {},})},state() {return {token: ''},actions: {},},persist: {})代码解释:1.使用defineStore函数定义一个名为token的 store,并返回state()方法中的token对象,由下面的setToken方法给token属性复制state() {return {token: ''},actions: {},2.
2024-10-31 21:35:25 205
原创 用自定义注解+AOP来记录日志
之前用AOP记录日志的方法会记录所有的service层下的方法生成日志,这样就会记录太多没有价值的日志,基于自定义注解方式只记录自己想记录的service方法的操作日志。/*** 模块*/解释:@Target该注解定义了Mylog注解可以应用的地方。: 表示可以应用于方法参数;: 表示可以应用于方法。该注解定义@MyLog可以被用在方法和参数上,通常用于标记这些元素。@Retention该注解定义了MyLog注解的保留策略。参数: 表示注解在运行时仍然可用。
2024-10-19 11:24:03 223
原创 更好的设计方式 - 使用异步记录日志
在编写记录日志功能时遇到一个问题//获取方法名称//获取当前用户信息//从token中获取当前用户的用户名定义了一个 AOP 切面类来拦截目标包中的方法调用,并记录日志,我LogAspect切面类在调用方法时会触发切入点,因为也是公共方法,符合的规则。这样一来,调用时又会再次触发切面逻辑,形成死循环。异步不会死循环:因为异步任务是在另一个线程中执行,主线程的 AOP 切面不会拦截异步线程的操作,从而避免死循环。
2024-10-15 20:49:20 880
原创 MyBatis-Plus主键生成方式
MyBatis-Plus的默认主键生成策略是ASSIGN_ID,它使用雪花算法(Snowflake)生成主键。如果使用的是向MySQL这样支持主键自增的数据库,可以将主键生成策略设置为自增,在配置文件.property/.yml里将id-type的属性设为auto。在实际开发中,应该结合主键字段的类型和长度等因素,以确保主键生成策略的正确性和高效性。用uuid作为主键生成策略,特点是全局唯一的,但相对较长,且不是顺序递增的。需要手动输入主键的值,且不能重复 ,将id-type的属性设为input。
2024-09-12 21:55:51 172
原创 JSP、Servlet如何实现前端浏览器和客户端之间的交互
Tomcat 充当了承载 Web 应用程序和 Servlet 的服务器角色,它能够处理来自客户端的请求,执行包含 JDBC 查询的 Servlet,并将结果返回给客户端或输出到服务器控制台。创建一个.jsp文件,编写前端代码,运行tomcat,可以将jsp文件中的代码从客户端推送至浏览器。4.将存到内存中的数据在.JSP文件中进行遍历,执行.JSP文件的语句。现在的效果是数据库里的数据通过在浏览器的调用,显示在了控制台上。现在显示的是虚假的数据,还没跟数据库建立连接。2.将从数据库中获取的数据存至内存中。
2024-08-13 17:24:26 374
原创 switch...case语句中,如果不加break会继续往下执行
如果case语句后面不跟break,则会继续向下执行下一条case语句。以判断今天是一年中的第几天为例。
2024-07-31 08:45:08 567
原创 以Integer为实例,了解Java中的包装类
都会创建一个新的对象,不论是否已经有相同值的对象,会占用内存。用自动装箱的方法实例化,这个静态方法会在内部创建一个缓存池(堆中),如果请求的值在缓存范围之内,则会返回缓存池中的值,而不会创建一个新的对象。因为Java是一种面向对象的语言,很多情况下需要对对象进行操作,而基本数据类型无法被实例化,包装类就是因此而诞生的,以便能够把基本数据类型包装成对象类型。可以具体的感受到,int和Integer的区别,Integer相当于一个类,内部封装了一些方法可以被调用。使用构造方法实例化包装类。
2024-07-29 20:45:07 655
原创 用Java实现快速排序
经过上面的步骤后,用pivot将数组分成两部分,pivot左侧的元素都比它小,pivot右侧的元素都比它大,在对新得到的两个数组进行递归排序。
2024-07-15 20:20:42 483 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人