- 博客(24)
- 收藏
- 关注
原创 Maven私服
*私服:**是一种特殊的远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的中央仓库,用于解决团队内部的资源共享与资源同步问题。本地仓库私服仓库中央仓库**注意事项:**私服在企业项目开发中,一个项目/公司,只需要一台即可(无需我们自己搭建,会使用即可)。
2024-09-19 21:23:09 1187
原创 Maven继承与聚合
在maven中,可以在父工程的pom文件中通过来统一管理依赖版本。--统一管理依赖版本--> < dependencyManagement > < dependencies > <!
2024-09-19 21:09:19 846
原创 分模块设计与开发
所谓分模块设计,顾名思义指的就是我们在设计一个 Java 项目的时候,将一个 Java 项目拆分成多个模块进行开发。1). 未分模块设计的问题如果项目不分模块,也就意味着所有的业务代码是不是都写在这一个 Java 项目当中。随着这个项目的业务扩张,项目当中的业务功能可能会越来越多。假如我们开发的是一个大型的电商项目,里面可能就包括了商品模块的功能、搜索模块的功能、购物车模块、订单模块、用户中心等等。这些所有的业务代码我们都在一个 Java 项目当中编写。
2024-09-19 19:55:19 760
原创 AOP核心概念
Spring的AOP底层是基于动态代理技术来实现的,也就是说在程序运行的时候,会自动的基于动态代理技术为目标对象生成一个对应的代理对象。 在入门程序中是需要统计各个业务方法的执行耗时的,此时我们就需要在这些业务方法运行开始之前,先记录这个方法运行的开始时间,在每一个业务方法运行结束的时候,再来记录这个方法运行的结束时间。AOP的核心概念我们介绍完毕之后,接下来我们再来分析一下我们所定义的通知是如何与目标对象结合在一起,对目标对象当中的方法进行功能增强的。抽取出来的这一部分重复的逻辑,也就是共性的功能。
2024-09-18 21:28:27 346
原创 Spring AOP
AOP(Aspect-Oriented Programming)中文翻译为面向切面编程,面向方面编程在AOP中,可以理解为就是面向方法编程。
2024-09-18 20:43:12 476
原创 springboot常见错误一
这种情况可以检查一下启动类有没有不小心放在一个单独的包里面。前端界面报错404,什么都加载不出来。这种情况,我们只要把启动类拿出就行。后端却没有报任何错误。
2024-09-12 10:10:06 99
原创 LocalDate类、LocalTime类、LocalDateTime类
JDK8新增的日期类分得更细致一些,比如表示年月日用LocalDate类、表示时间秒用LocalTime类、而表示年月日时分秒用LocalDateTime类等;除了这些类还提供了对时区、时间间隔进行操作的类等。它们几乎把对日期/时间的所有操作都通过了API方法,用起来特别方便。先学习表示日期、时间、日期时间的类;有LocalDate、LocalTime、以及LocalDateTime类。仔细阅读代码,你会发现这三个类的用法套路都是一样的。为什么以前的Date类就可以表示日期,为什么要有新增的日期类呢?
2024-08-10 09:37:41 281
原创 SimpleDateFormat类
前面我们打印Date对象时,发现打印输出的日期格式我们并不喜欢,SimpleDateFormat类就可以转换Date对象表示日期时间的显示格式。注意:创建SimpleDateFormat对象时,在构造方法的参数位置传递日期格式,而日期格式是由一些特定的字母拼接而来的。我们需要记住常用的几种日期/时间格式最后,上代码演示一下。
2024-08-10 09:24:33 215
原创 Date类
Date对象记录的时间是用毫秒值来表示的。Java语言规定,1970年1月1日0时0分0秒认为是时间的起点,此时记作0,那么1000(1秒=1000毫秒)就表示1970年1月1日0时0分1秒,依次内推。下面是Date类的构造方法,和常见的成员方法,利用这些API写代码尝试一下。Date类,Java中是由这个类的对象用来表示日期或者时间。
2024-08-10 09:13:00 177
原创 ThreadLocal与synchronized的区别
synchronized 关键字,代表这个方法加锁,相当于不管哪一个线程(例如线程A),运行到这个方法时,都要检查有没有其它线程B(或者C、 D等)正在用这个方法(或者该类的其他同步方法),有的话要等正在使用synchronized方法的线程B(或者C 、D)运行完这个方法后再运行此线程A,没有的话,锁定调用者,然后直接运行。总结:在例子中,虽然使用ThreadLocal和synchronized都能解决问题,但是使用ThreadLocal更为合适,因为这样可以使程序拥有更高的并发性。
2024-08-08 19:59:06 338
原创 为什么多线程需要用锁synchronized
在多线程环境中,当多个线程同时访问和修改共享资源时,如果没有适当的同步机制,就可能导致数据竞争。数据竞争是指多个线程同时访问和修改同一资源,导致数据的不一致和错误。为了解决这个问题,需要使用加锁技术,如互斥锁、读写锁、递归锁等,来确保对共享资源的访问是顺序的或排他的。加锁可以防止多个线程同时修改同一数据,从而避免数据的不一致和错误。此外,加锁还可以解决不同线程的子步骤有顺序关联性的问题。
2024-08-08 19:19:36 364
原创 ThreadLocal
ThreadLocal类用来提供线程内部的局部变量。这种变量子在多线程环境下访问(通过get和set方法)时能保证各个线程的变量相对独立于其他线程内的变量,ThreadLocal实例通常来说都是private static类型的,用于关联线程和线程上下文。我们可以得知的ThreadLocal的作用是:提供线程内的局部变量,不同的线程之间互不干扰,这种变量在线程的生命周期内起作用,减少一个线程内多个函数或组件之间一些公共变量传递的复杂度。
2024-08-05 16:42:03 1016
原创 运行SQL文件错误
MySQL 5.7确实不支持COLLATE utf8mb4_0900_ai_ci。这是因为utf8mb4_0900_ai_ci字符集排序规则是在MySQL 8.0版本中引入的,而MySQL 5.7版本并不支持这个特性。因此,如果在MySQL 5.7环境中尝试使用utf8mb4_0900_ai_ci字符集排序规则,将会遇到兼容性问题12。可以发现是因为无法识别utf8mb4_0900_ai_ci字符集。如果应用程序对字符集和排序规则有特定的要求,可能需要仔细评估升级或修改脚本的潜在影响。
2024-08-03 10:12:42 310
原创 Cannot resolve symbol
这样爆红的问题,明明名称写的是正确的,但却爆红,提示“Cannot resolve symbol ‘driver’”,当时我翻遍了全网相关的解决方案都没有解决,最后才发现“不用解决才是最好的解决方案”,因为最后测试发现,虽然爆红,但仍然可以连接到数据库,所以说这个完全不用管它,只要你名称写的是对的就行。不知道有没有小伙伴们和我一样在学mybatis时,配置数据库环境的时候遇到。
2023-06-11 13:59:05 688
原创 微信小程序-页面导航
open-type=“navigate” 也可以省略不写 都可以跳转到非导航界面。tabBar页面指的是被配置为tabBar的页面。
2023-04-22 21:14:13 267
原创 微信小程序-input
value = “” //输入框初始内容,如果里面放变量时,用{{}}包裹变量名。bindinput = “” //相当于输入事件,里面填函数名。
2023-04-04 21:14:23 238 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人