- 博客(43)
- 收藏
- 关注
原创 【Spring Boot】Spring Boot解决循环依赖
循环依赖是指两个或多个组件相互依赖,形成闭环。例如,Bean A 依赖 Bean B,而 Bean B 又依赖 Bean A。Spring Boot 默认情况下会抛出异常。
2025-11-01 13:25:19
288
原创 【Spring Boot】Spring Boot解决循环依赖
循环依赖指两个或多个Bean相互依赖,形成闭环。例如Bean A依赖Bean B,Bean B又依赖Bean A。Spring默认禁止循环依赖,但通过特定配置可解决部分场景。
2025-11-01 13:18:24
309
原创 【Spring Boot】Spring Boot解决循环依赖
循环依赖是指两个或多个Bean相互依赖,形成闭环关系。例如Bean A依赖Bean B,Bean B又依赖Bean A。Spring默认情况下会抛出异常。
2025-11-01 13:17:11
427
原创 【Spring Boot】Spring Boot解决循环依赖
循环依赖是指两个或多个Bean相互依赖,形成闭环。例如Bean A依赖Bean B,Bean B又依赖Bean A。将构造器注入改为Setter注入,Spring容器可以先实例化Bean,再通过Setter方法注入依赖。检查是否存在不必要的循环依赖,尝试通过提取公共逻辑到第三方的Bean,或使用接口隔离来解耦。,每次获取时创建新实例,避免单例模式下的循环依赖问题。注解,延迟加载其中一个Bean,打破初始化时的循环。方法完成部分依赖逻辑,避免构造器中的直接依赖。包装依赖,在需要时才获取Bean实例。
2025-11-01 13:16:29
152
原创 Spring Boot 整合 ShedLock 处理定时任务重复
ShedLock 是一个轻量级分布式锁库,用于确保定时任务在分布式环境中仅执行一次。通过锁机制,防止多个实例同时运行同一任务。
2025-10-31 16:02:47
257
原创 DBeaver连接本地MySQL、创建数据库表的基础操作
启动后通过菜单栏【数据库】→【驱动管理器】添加MySQL驱动,选择"MySQL"驱动并确保使用最新版本的JDBC驱动(如mysql-connector-java-8.0.x.jar)。输入数据库名称(如test_db),选择字符集(推荐utf8mb4)和排序规则(如utf8mb4_general_ci),执行SQL生成语句后点击【完成】。右键点击导航栏中的【数据库】选择【新建连接】,从列表中选择MySQL图标。展开新建的数据库,右键点击【表】→【创建】→【表】。
2025-10-31 16:01:20
330
原创 Python爬虫---中国大学MOOC爬取数据(文中有
中国大学MOOC(慕课)网站包含大量公开课程信息,如课程名称、讲师、评分、学习人数等。使用浏览器开发者工具(F12)检查网页结构,确认数据是通过动态加载(AJAX)还是静态HTML呈现。动态内容通常需要分析接口或使用Selenium模拟浏览器行为。通过以上方法可高效爬取中国大学MOOC的公开数据,适用于课程分析或学术研究。动态内容需通过分析XHR请求接口获取JSON数据。对于静态页面,可直接使用。若数据通过接口返回,使用。
2025-10-31 16:00:29
383
原创 spring boot 项目打印sql日志和结果,使用logback或
确保项目中已包含spring-boot-starter-data-jpa或相关数据库驱动依赖,logback依赖通常由Spring Boot自动引入。在Spring Boot项目中,通过Logback可以方便地打印SQL日志和结果输出。
2025-10-31 15:59:42
407
原创 72.是否可以把所有Bean都通过Spring容器来管
在Spring框架中,理论上可以将所有Bean(包括服务类、数据访问对象、工具类等)交由Spring容器管理,但实际应用中需要根据具体场景权衡利弊。Spring管理的Bean默认是单例的,适合无状态组件。对于频繁创建/销毁的对象(如DTO),可能不适合交给容器管理。总结:Spring容器适合管理核心业务组件,但并非所有对象都需强制托管,需根据具体需求平衡设计。过度依赖容器可能使单元测试需要启动Spring上下文,影响测试速度。),强制通过Spring管理可能导致配置复杂化。或构造函数注入解决。
2025-10-31 15:58:55
307
原创 MySQL下载安装配置(超级超级入门级)
从MySQL官方网站下载适合操作系统的安装包。推荐选择MySQL Community Server版本,它是免费的。Windows用户可以选择。文件,选择“Developer Default”或“Server only”安装类型,按照向导完成安装。过程中需设置root用户密码。安装完成后,在系统偏好设置中找到MySQL面板启动服务。文件,Linux用户可通过包管理器或下载压缩包。安装程序,macOS用户可以选择。确保防火墙允许3306端口。重启MySQL服务。
2025-10-31 15:58:19
410
原创 【Spring Boot】Spring Boot解决循环依赖
循环依赖指两个或多个Bean相互引用,形成依赖闭环(如A依赖B,B依赖C,C又依赖A)。Spring Boot默认会检测并抛出。
2025-10-31 15:57:32
293
原创 java从入门到进阶书单推荐必收藏
Cay S. Horstmann 和 Gary Cornell 合著的经典教材,覆盖Java基础语法、面向对象、集合框架等核心内容,适合零基础入门。Kathy Sierra 和 Bert Bates 编写的趣味性入门书,通过视觉化学习和互动练习帮助理解Java基础概念,适合不喜欢枯燥理论的初学者。Joshua Bloch 编写的经典,涵盖Java最佳实践和设计模式,如泛型、并发、方法设计等。周志明著,剖析JVM内存模型、类加载机制、垃圾回收算法等底层原理,适合进阶学习性能调优和JVM机制。
2025-10-31 15:56:51
445
原创 服务器公网IP、私网IP、弹性IP是什么?区别与应
公网IP(Public IP)是互联网全局可访问的唯一地址,由ISP(互联网服务提供商)分配。用于直接对外提供服务(如网站、API),全球范围内可路由。弹性IP是云计算平台(如AWS、阿里云)提供的动态公网IP,可绑定到实例或解绑复用,解决传统公网IP的僵化问题。私网IP(Private IP)在局域网(LAN)内使用,无法通过互联网直接访问,遵循RFC 1918标准(如。
2025-10-31 15:56:17
439
原创 【玩转全栈】----Django基本配置和介绍
Django 是一个基于 Python 的高性能 Web 框架,采用 MTV(Model-Template-View)模式,内置 ORM、Admin 后台、表单处理等功能,适合快速开发安全、可维护的 Web 应用。
2025-10-31 15:55:39
400
原创 服务器公网IP、私网IP、弹性IP是什么?区别与应
公网IP(Public IP)公网IP是互联网上唯一的标识地址,可直接被全球范围内的设备访问。通常用于对外提供服务的服务器(如网站、API等),由互联网服务提供商(ISP)分配。公网IP资源有限,需付费使用。私网IP(Private IP)私网IP是局域网(LAN)内使用的内部地址,不可直接从互联网访问。通过NAT(网络地址转换)技术,私网IP可共享一个公网IP访问外部网络。弹性IP(Elastic IP)
2025-10-31 15:54:47
477
原创 【mysql】锁机制 - 2.行锁间隙锁临键锁
间隙锁锁定索引记录之间的间隙,防止其他事务在间隙中插入数据。行锁是锁定索引记录的一种锁机制,仅锁住单条记录。MySQL 的锁机制中,行锁、间隙锁和临键锁是针对不同场景设计的锁类型,用于解决并发事务中的数据一致性问题。临键锁是行锁与间隙锁的组合,锁定索引记录及其之前的间隙。行锁分为共享锁(S 锁)和排他锁(X 锁)。没有合适索引时,锁会升级为表锁,严重影响并发性能。临键锁的范围包括记录本身和记录之前的间隙,既防止幻读又防止当前记录被修改。通过调整事务隔离级别或使用乐观锁等方式,可以降低锁冲突的概率。
2025-10-31 15:54:05
418
原创 【Java】如何使用jdbc连接并操作MySQL,一文读
的jar包,版本需与MySQL服务端匹配。若使用Maven项目,在。从MySQL官网或Maven仓库获取。下载并导入MySQL JDBC驱动。遍历ResultSet获取数据。使用HikariCP等连接池。注册JDBC驱动并建立连接。创建Statement对象。关闭自动提交,显式调用。
2025-10-31 15:53:32
439
原创 72.是否可以把所有Bean都通过Spring容器来管
将应用中所有Bean交由Spring容器管理是可行的,但需权衡设计合理性和实际需求。Spring的核心设计理念是控制反转(IoC),通过容器统一管理对象生命周期和依赖关系。最佳实践是保持合理平衡,核心业务组件交给容器管理,而简单的值对象和临时对象可保持普通Java对象形态。
2025-10-31 15:52:53
356
转载 python中文乱码
python-8进制转换为汉字(utf-8)https://blog.youkuaiyun.com/cd2016/article/details/81358612彻底搞懂 python 中文乱码问题https://blog.youkuaiyun.com/joyfixing/article/details/79971667Python HTTP库requests中文页面乱码解决方案https...
2019-06-12 16:31:13
345
原创 python--排序算法
#冒泡排序,两两比较,顺序不对的交换def bubblesort(list): length = len(list) for i in range(length-1): for j in range(length-i-1): if list[j]>list[j+1]: list[j],list[j+1]=list[j+1],list[j] return li...
2019-03-19 23:48:51
240
原创 python算法--(1)最大公约数gcd和最小公倍数lcm
最大公约数def gcd(a,b): if a<b: a,b=b,a if a%b==0: return b else: return gcd(a,a%b)print gcd(a,b)最小公倍数def lcm(a,b): return a*b/gcd(a,a%b)print lcm(a,b)...
2019-03-15 11:21:57
5073
4
转载 Python函数
Python数学函数函数 返回值 ( 描述 ) abs(x) 返回数字的绝对值,如abs(-10) 返回 10 ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5 cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1 exp(x) 返回e的x次幂(ex)...
2019-03-12 21:08:17
472
转载 正则表达式学习笔记:(5)js的正则表达式
语法/正则表达式主体/修饰符(可选)实例:var patt = /runoob/i实例解析:/runoob/i 是一个正则表达式。runoob 是一个正则表达式主体(用于检索)。i 是一个修饰符(搜索不区分大小写)。方法http://www.runoob.com/jsref/jsref-obj-regexp.htmlsearch() 方法...
2019-03-06 17:19:59
340
转载 curl 模拟请求
curl的用法curl [options] [params] {网页url}options = -v 显示详细的请求信息curl -v www.baidu.comoptions = -X 指定请求方式GET请求:curl -X GET https://www.baidu.com/POST请求:curl -X POST -d "data=123&...
2019-03-06 16:25:21
551
转载 shell学习笔记:(4)基本命令
Shell echo命令Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出,默认自动添加换行符。echo命令的语法:echo stringecho -e "OK! \c" # -e 开启转义 \c 不换行 \n换行Shell printf 命令printf 使用引用文本或空格分隔的参数,外面可以在 printf 中使用格式化字符串,还...
2019-03-06 16:20:35
297
转载 shell学习笔记:(3)shell基本运算符
Shell 基本运算符Shell 和其他编程语言一样,支持多种运算符,包括:算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符算术运算符下表列出了常用的算术运算符,假定变量 a 为 10,变量 b 为 20:运算符 说明 举例 + 加法 `expr $a + $b` 结果为30。 - 减法 `expr $a - ...
2019-03-05 19:14:40
259
转载 shell学习笔记:(2)shell传递参数
脚本内获取参数的格式为:$n。n代表一个数字,其中$0为执行的文件名,$1 为执行脚本的第一个参数,$2 为执行脚本的第二个参数,以此类推……另外,还有几个特殊字符用来处理参数:参数处理 说明 $# 传递到脚本的参数个数 $* 以一个单字符串显示所有向脚本传递的参数。 如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 ...
2019-03-05 16:33:46
266
转载 shell学习笔记:(1)shell变量
Shell 变量定义变量时,变量名不加美元符号,如:your_name="runoob.com"注意,变量名和等号之间不能有空格,变量名的命名须遵循如下规则:命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。 中间不能有空格,可以使用下划线(_)。 不能使用标点符号。 不能使用bash里的关键字(可用help命令查看保留关键字)。使用变量使用一个定义过的变量,只要...
2019-03-05 15:48:20
288
转载 正则表达式学习笔记:(4)常用正则表达式
一、校验数字的表达式数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9]*)$ 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(\.[0-9]{1,2})?$ 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})$ 正数、负数、和小...
2019-03-04 18:00:05
356
转载 正则表达式学习笔记:(3)运算符优先级
正则表达式 -运算符优先级正则表达式从左到右进行计算,并遵循优先级顺序,相同优先级的从左到右进行运算,不同优先级的运算先高后低。下表从最高到最低说明了各种正则表达式运算符的优先级顺序:运算符 描述 \ 转义符 (), (?:), (?=), [] 圆括号和方括号 *, +, ?, {n}, {n,}, {n,m} 限定符 ^, $, \任何元字符、...
2019-03-01 16:43:28
195
转载 正则表达式学习笔记:(2)元字符
正则表达式 -元字符下表包含了元字符的完整列表以及它们在正则表达式上下文中的行为:字符 描述 \ 转义符,将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。 ^ 匹配输入字符串的开始位置...
2019-03-01 16:18:46
157
转载 正则表达式学习笔记:(1)语法
特殊字符特别字符 描述 $ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 '\n' 或 '\r'。要匹配 $ 字符本身,请使用 \$。 ( ) 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。 * 匹配前面的子表达式零次或多次。要匹配 * 字符,请使...
2019-03-01 16:17:38
192
原创 sublime text 3 显示空格和Tab
Preferences ->Settings添加"draw_white_space": "all",保存即可即可出现这种效果sublime配置python运行环境https://www.cnblogs.com/haoprogrammer/p/8284908.html实用的sublime插件集合 – sublime推荐必备插件http://www.xu...
2018-12-21 20:07:50
635
转载 把mysql上的数据导入txt文件
mysql -h172.16.160.182 -uroot -p -Ne “use test; select * from items;” > ~/workspace/items.txt 引用:https://blog.youkuaiyun.com/qq_34271119/article/details/79619200
2018-09-25 15:31:08
334
转载 软件测评师考试大纲2018
考试科目1:软件工程与软件测试基础知识1.计算机系统基础知识1.1计算机系统构成及硬件基础知识·计算机系统的构成·处理机·基本输入输出设备·存储系统1.2操作系统基础知识·操作系统的中断控制、进程管理、线程管理·处理机管理、存储管理、设备管理、文件管理、作业管理·网络操作系统和嵌入式操作系统基础知识·操作系统的配置1.3数据库基础知识·数据库基本原理·数据库管理系统的功...
2018-09-05 16:29:17
4973
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅