- 博客(83)
- 收藏
- 关注
原创 无法自动装配。找不到 ‘XXXMapper‘ 类型的 Bean。
出现这个问题直接搜Autowired for bean class。取消掉这个的对钩就好了。
2025-12-19 09:53:33
107
原创 基于ESP32的“摸鱼先知”桌面摆件——融合多传感器与Web服务的智能终端
本文介绍了一个基于ESP32的桌面信息终端"摸鱼先知"的开发过程。该设备通过集成OLED显示屏和BME280传感器,实现了时间、温湿度、天气等信息的集中显示,并具备邮件提醒和久坐提醒功能。项目采用Arduino框架开发,包含网络服务获取、数据显示和定时任务管理三大模块,解决了多API解析、非阻塞编程等关键技术问题。实际使用表明,该终端能有效聚合办公场景中的关键信息,以非侵入方式提供提醒,并加入"毒鸡汤"等趣味元素,提升了办公体验。文章最后总结了开发经验并提出了功能扩展
2025-11-28 15:18:03
371
原创 进击大厂:程序员必须修炼的算法“内功”与思维体系
在当今技术面试高度标准化的时代,算法能力已经不再是“加分项”,而是进入顶级科技公司的“硬通货”。掌握这些核心算法,是你叩开大厂之门的坚实一步。但请记住,算法面试的目的,是寻找那些具备强大学习能力和解决问题潜力的工程师。掌握以下数据结构,不仅要知其然,更要知其所以然(时间复杂度、空间复杂度、适用场景)。通过保存子问题的解,避免重复计算,以空间换时间。这是算法面试的“王冠”,也是区分度最高的部分。下面,我们将这套必须掌握的“核心算法”体系,为你层层揭开。:对数据结构和算法的理解,是衡量科班出身与否的重要标尺。
2025-11-28 14:06:15
494
原创 Java新手村通关攻略:手把手教你写出第一个“贷款计算器”,秒懂核心语法!
你是不是也曾打开Java教材,面对满屏的“变量”、“运算符”、“面向对象”感到一头雾水,学了几天也不知道自己能做出什么?所以,在真正的商业项目中,我们会用。别怕,IDEA会提示你,点击“Download JDK 17”,它会自动帮你下载安装。不仅完成了一个实用的项目,更重要的是,你已经理解了Java编程的核心思维。:基本数据类型的传递,像是“复印文件”,你把文件复印给别人,别人在复印件上修改,不会影响你的原件。:电脑随机一个数,用户来猜,根据用户输入提示“大了”或“小了”,综合运用循环和判断。
2025-11-06 16:45:40
737
原创 Java 25年演进之路:从“即将被取代”到“不可替代”的技术哲学
Java的持久生命力与技术哲学 摘要:尽管面临多次"被取代"危机,Java凭借持续进化、兼容承诺和平衡设计,始终稳居编程语言前列。本文通过版本演进对比,展现Java从Lambda到虚拟线程的技术革新;分析其"中庸之道"的设计理念与社区驱动的生态建设;为开发者提供从CRUD到架构思维的成长路径建议。在AI时代,Java凭借稳定性和企业级优势找到新定位,证明其仍是需要长期运行系统的可靠选择。文章包含技术演进实例和职业发展思考,适合中高级开发者参考。(149字)
2025-11-06 16:11:39
846
原创 Java开发者迎战AI时代:大模型落地与高性能编程实战
Java不是AI时代的旁观者,而是重要的参与者和推动者。作为Java开发者,我们无需转向Python,而是应该充分发挥Java在企业级应用中的固有优势,结合新兴的AI框架和工具,构建更加稳定、高效、智能的应用系统。
2025-11-06 15:55:37
858
原创 Java生态中主要的SpringAI相关框架以及它们的使用方法
摘要:Java生态中主流的AI开发框架包括Spring官方推出的SpringAI、阿里巴巴的SpringAIAlibaba以及独立的LangChain4j。SpringAI提供统一API支持多模型,深度集成Spring生态;SpringAIAlibaba在此基础上扩展阿里云服务能力。使用方式包括添加starter依赖、配置模型参数(如API密钥)后即可注入ChatModel等组件调用AI功能。开发建议:优先选择与现有技术栈匹配的框架,关注版本兼容性,并探索提示词模板等高级特性。Spring生态项目推荐使用对
2025-10-31 09:35:30
653
1
原创 Java开发智能机器人
本文概述了Java在智能机器人开发中的应用,介绍了LeJOS、ROS2、FRC等核心框架及其适用场景。通过LeJOS避障机器人示例,展示了电机控制、传感器读取和决策逻辑的实现。文章还提供了开发环境搭建指南,建议使用JDK、IDE和构建工具。进阶方向包括集成智能算法、机器人视觉和多智能体系统。最后强调规范开发流程的重要性,包括需求分析、模块化编码、模拟测试等步骤,指出Java在机器人开发中的跨平台和分布式计算优势。
2025-10-31 09:13:41
1012
原创 C语言、Java、Python 的选择与未来发展以及学习路线
编程语言选择指南:C、Java与Python的三角之争 C语言、Java和Python分别代表了编程语言金字塔的底层、中层和应用层。C语言以高性能和底层控制著称,适用于系统编程和嵌入式开发;Java在企业级开发中占据主导地位,稳定性强,适合大型后台系统;Python语法简洁,开发效率高,是数据科学和AI的首选。选择时需考虑目标领域:C适合底层开发,Java适合企业应用,Python适合快速开发与AI。三者各有所长,未来前景均光明。学习路径建议根据兴趣和需求选择一门入门,掌握后再拓展。
2025-10-30 11:57:02
4390
5
原创 Mac如何安装mysql和完全卸载mysql
摘要:本文介绍了在Mac系统上使用Homebrew安装MySQL的详细步骤,包括Homebrew安装、MySQL版本选择、8.4版本安装以及服务启动。同时提供了mysql_secure_installation安全配置的注意事项,并解释了常见英文提示的含义。针对之前使用MySQL安装器导致的问题,文章提供了完整的卸载方法,包括关闭MySQL进程、删除残留文件和目录等清理操作。最后强调使用Homebrew管理MySQL更加便捷高效,适合国内用户使用。
2025-10-30 11:13:17
1356
原创 Cannot resolve net.sf.json-lib:json-lib:2.4
文件中添加其他仓库。如果默认的 Maven Central 仓库中没有。一般就是少加了那个JDK15哪一行加上就行了。有时,本地仓库可能会损坏。你可以尝试删除本地的。文件中添加了正确的依赖配置。缓存,然后更新依赖项。
2025-02-27 10:21:45
602
原创 浅谈AI技术以及他的发展方向
总的来说,生成式AI的未来发展方向将在对话系统和自主代理之间找到平衡,并逐步实现这两个领域的融合与提升。:未来的生成式AI可能会将对话系统和自主代理的优势结合起来,形成更智能、更全面的服务。生成式AI的未来发展方向确实是一个值得深入探讨的问题,特别是在对话系统(Chat)和自主代理(Agent)这两个领域之间的应用和潜力。:随着技术的进步,生成式AI可能会在理解上下文、处理复杂任务、保证安全性等方面取得突破,从而提升其在实际应用中的效果和效率。
2024-07-30 11:37:39
644
1
原创 深入分析程序员面试中的“八股文”到底起到了哪几个方面你的作用 有没有真正的实际作用
八股文”这一术语在程序员面试中通常指的是那些形式化、套路化的回答或题目,这些内容可能并没有真正反映出应聘者的实际能力或解决问题的实际水平。这种现象在技术面试中较为常见,其中包括一些标准的算法题、数据结构题、设计模式题等。
2024-07-30 11:32:18
1763
原创 There are test failures.
如果你的项目使用CI/CD管道,确保在提交代码时自动运行测试。:根据测试失败的具体原因,修改代码以解决问题。这可能涉及到修复逻辑错误、调整测试用例、修复依赖项或测试环境的问题等。:根据错误信息,理解测试失败的具体原因。可能的原因包括代码逻辑错误、依赖项问题、测试数据问题等。:检查你的测试代码,确保它们覆盖了正确的场景,并且没有逻辑错误。:测试失败通常会提供详细的错误信息和堆栈跟踪。:如果测试涉及到被测代码,确保被测代码的实现符合预期逻辑。:在修改后,重新运行测试以确保问题已经解决。
2024-07-03 09:23:56
845
原创 java定时器
然后再在你的那个controller加上@Scheduled(cron = "0 0 2 * *?") // 每天午夜执行。这个注解用于启用 Spring 的调度任务功能,使得。在启动类(Spring Boot 应用的主类)上,需要添加。是 Spring Boot 应用的入口点,而。注解可以按照指定的时间表执行定时任务。则启用了调度任务的支持,使得。
2024-06-25 09:58:35
431
原创 Required request body is missing: public com.ruoyi.common.core.domain.AjaxResult com.ruoyi
错误消息 “Required request body is missing” 表明您的Spring应用中,一个控制器方法期望接收请求体(JSON或XML数据),但实际请求中没有提供或者请求体为空。通过以上步骤,您应该能够解决 “Required request body is missing” 的错误,并确保您的控制器方法能够正确接收并处理请求体中的数据。双重检查控制器中的URL路径和方法映射。确保前端或其他调用方发送的请求路径和方法类型(POST)与您的控制器方法注解一致。
2024-06-25 09:54:04
9315
原创 annot convert string ‘0‘ to java.sql.Timestamp value
如果你的时间戳字符串是以"0"表示空值或缺失值,那么你需要在转换之前进行逻辑判断,并决定在这种情况下应该采取什么行动,例如使用null来表示空值。通过检查这些问题并进行相应的修正,你应该能够解决将字符串’0’转换为java.sql.Timestamp值时出现的问题。检查你的代码,确保在尝试进行转换之前,你已经对时间戳字符串进行了有效性检查,以避免将不合法的字符串传递给转换函数。确保你的代码中没有对非时间戳字符串进行误用,以避免将不符合格式要求的字符串传递给时间戳转换函数。
2024-05-08 11:54:50
1121
原创 Vue_Element深入学习
前后台混合开发和前后台分离开发。前后台混合开发,顾名思义就是前台后台代码混在一起开发,如下图所示:这种开发模式有如下缺点:沟通成本高:后台人员发现前端有问题,需要找前端人员修改,前端修改成功,再交给后台人员使用分工不明确:后台开发人员需要开发后台代码,也需要开发部分前端代码。很难培养专业人才不便管理:所有的代码都在一个工程中不便维护和扩展:前端代码更新,和后台无关,但是需要整个工程包括后台一起重新打包部署。
2024-05-06 14:27:52
1161
原创 SpingBoot原理篇 :深入学习springboot原理,主要偏向于底层原理
SpringBoot的自动配置就是当Spring容器启动后,一些配置类、bean对象就自动存入到了IOC容器中,不需要我们手动去声明,从而简化了开发,省去了繁琐的配置操作。比如:我们要进行事务管理、要进行AOP程序的开发,此时就不需要我们再去手动的声明这些bean对象了,我们直接使用就可以从而大大的简化程序的开发,省去了繁琐的配置操作。下面我们打开idea,一起来看下自动配置的效果:运行SpringBoot启动类。
2024-04-29 13:56:46
1301
原创 SpringCloud高级篇(超详细)
SpringCloud是目前国内使用最广泛的微服务框架。。SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验。其中常见的组件包括:学习的版本是 Hoxton.SR10,因此对应的SpringBoot版本是2.3.x版本。SpringCloud基于SpringBoot在某一次的服务调用关系中,会有两个不同的角色:#必须针对某一个具体的业务(订单查询),才能谈角色服务提供者:一次业务中,被其它微服务调用的服务。
2024-04-28 12:00:13
1076
原创 深入解析MyBatisPlus 一篇直接让你学会MyBatisPlus
MyBatisPlus环境搭建的步骤?BaseMapper注意:BaseMapper后边必须指定泛型User,以此来确定操作的表MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率https这个统计SQL在企业开发中,一般会使用MyBatis在xml中编写sql//统计//分组//查询总记录数在模型类属性上方,使用注解,通过==exist==属性,设置属性在数据库表字段中是否存在,默认为true。此属性无法与value合并使用。
2024-04-28 10:13:51
1234
原创 MQ 详细操作高级篇 让你从不懂到熟练使用
每个RabbitTemplate只能配置一个ReturnCallback,因此需要在项目启动过程中配置作用:如果消息没有到达队列,会执行回调方法@Slf4j//ApplicationContextAware: 在Spring容器(Bean工厂)创建好的时候,通知咱们@Override// 获取RabbitTemplate// 设置ReturnCallback,先用匿名内部类// 投递失败(没有到达队列),记录日志。
2024-04-26 11:21:10
3434
原创 SpringBootWeb AOP从基础到深入讲解 看完这篇让你受用整个代码人生
我们接着继续学习@Transactional注解当中的第二个属性propagation,这个属性是用来配置事务的传播行为的。什么是事务的传播行为呢?就是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何进行事务控制。例如:两个事务方法,一个A方法,一个B方法。在这两个方法上都添加了@Transactional注解,就代表这两个方法都具有事务,而在A方法当中又去调用了B方法。
2024-04-25 17:04:15
1159
原创 Maven高级篇:Maven从基础到高级 (超详细讲解)耐心 看完这篇直接从小白到深层次理解
所谓分模块设计,顾名思义指的就是我们在设计一个 Java 项目的时候,将一个 Java 项目拆分成多个模块进行开发。1). 未分模块设计的问题如果项目不分模块,也就意味着所有的业务代码是不是都写在这一个 Java 项目当中。随着这个项目的业务扩张,项目当中的业务功能可能会越来越多。假如我们开发的是一个大型的电商项目,里面可能就包括了商品模块的功能、搜索模块的功能、购物车模块、订单模块、用户中心等等。这些所有的业务代码我们都在一个 Java 项目当中编写。
2024-04-25 10:23:35
1463
原创 Java面试必问题53:(部署必学篇)Nginx作用 && Linux的常用命令 && Jenkins自动部署原理
Jenkins 通过提供一个可定制的、持续集成和交付的自动化流程,结合不同的插件和工具,实现了 Java 项目的自动化部署。nohup java -jar myapp.jar &(在后台执行名为"myapp.jar"的Spring Boot JAR文件)tail -n 10 file.txt(显示名为"file.txt"的文件的最后10行内容):将多个请求均匀的分配到多台服务器上,减轻每台服务器的压力,提高 服务的吞吐量。cat file.txt(显示名为"file.txt"的文件的内容)
2024-04-24 08:44:21
640
原创 Java面试必问题52:(高级面试篇)MongoDB的详细解释以及他的用法以及他跟Redis的区别以及优势
最简回答:MongoDB比MySQL快的原因在于它使用内存映射技术提高数据访问速度、支持多类型索引优化查询、具备分布式存储和查询能力,并且不需要复杂的关系模型,适用于大规模数据处理和非结构化数据存储的场景。最简回答:MongoDB的使用能够带来非结构化数据存储、高可扩展性和性能、灵活的开发过程、高可用性和容错性、强大查询功能以及活跃的社区支持和生态系统,适用于许多大规模数据处理和非结构化数据存储的应用场景。相比于关系型数据库,MongoDB不需要事先定义数据结构和关系模型,可以更加灵活地存储和查询数据。
2024-04-24 08:40:50
744
原创 Java面试必问题51:Seata分布式事务框架使用(高级理解)
二阶段是提交确认/回滚阶段,TC向所有参与者发送事务提交请求,参与者根据Undo Log进行事务提交,并向TC发送提交完成通知。最后,TC根据参与者的提交完成通知,发送最终的全局提交或回滚指令,参与者执行最终操作完成事务的提交或回滚。AT模式:效率较高、回滚机制通过发送回滚请求和Undo Log实现、通过两阶段提交协议实现最终一致性,一阶段提交请求阶段收集执行结果和Undo Log,二阶段提交确认/回滚阶段执行最终操作。在二阶段,参与者根据Undo Log进行提交或回滚操作,效率较高。
2024-04-23 13:58:01
654
原创 Java面试必问题50:ElasticSearch倒排索引详解
最简回答:ElasticSearch 的倒排索引是一种将词条和文档ID之间的对应关系反转存储的结构,通过快速定位包含特定词条的文档来提高搜索效率。综上所述,Elasticsearch的倒排索引通过存储词项和文档ID的对应关系以及使用紧凑的数据结构和内存缓存,实现了高效的搜索效率。倒排索引通过将文档ID与词项的对应关系反转,实现了从词项到文档的映射,从而方便快速定位包含特定词项的文档。Elasticsearch的倒排索引是一种高效的数据结构,存储了词条(term)和文档ID之间的对应关系。
2024-04-23 13:56:49
556
1
原创 Java面试必问题49:Xxl-Job原理分析 && 详细使用步骤以及为什么不使用SpringTask
相比于springTask,xxl-job具有更强的分布式支持和可扩展性,适用于复杂的分布式系统和大规模任务管理场景,而springTask更适用于简单的任务调度和单机环境。最简回答:xxl-job集成到Spring Boot工程中的使用步骤包括:添加xxl-job的依赖到构建文件中、配置xxl-job的参数,如调度中心地址和执行器名称,创建执行器类并注册为Spring的Bean,编写定时任务类并在项目启动时初始化任务调度器。xxl-job提供了一个简洁易用的任务管理界面,可以方便地配置和监控任务。
2024-04-22 09:44:53
1720
原创 Java面试必问题48:(高级篇) RabbitMQ功能&&作用 以及他的详细使用方式
2. 消息去重:消费者应用程序在处理消息之前,可以在自己的系统中维护一个消息记录表,记录已经处理过的消息的唯一标识符。在接收到新消息时,先检查该消息是否已经处理过,如果已经处理过,则忽略重复消息。手动消息确认(Manual Message Acknowledgement):消费者在处理完消息后,发送确认回执给RabbitMQ,告知消息已被成功处理,RabbitMQ可以删除该消息。通过组合使用以上的措施,可以实现全方位的消息可靠性保证,减少消息丢失和处理错误的风险,并确保消息系统的高可用性和稳定性。
2024-04-22 09:41:08
1407
3
原创 Java面试必问题47:Gateway的路由断言工厂深入解析
在网关的路由配置里只需要在-Path中配置/user/**,那么以user开头的请求就会被网关处理,这是如何实现的呢?事实上,Gateway中有很多的路由断言工厂,当我们在配置文件中对断言进行配置后,这些配置就会被路由断言工厂进行解析并处理,而-Path配置就是由org.springframework.cloud.gateway.handler.predicate.PathRoutePredicateFactory来处理的。
2024-04-20 11:34:14
515
2
原创 Java面试必问题46:Gateway详解以及使用方法
最简回答:Gateway网关是一种API网关,具有路由、负载均衡、安全认证、限流熔断等特性,用于统一管理和分发请求,提高系统的可用性、安全性和可扩展性。网关可以根据请求的路由规则将请求转发到不同的服务实例,并提供过滤器机制来实现请求的加解密、鉴权、限流等功能。Gateway可以对请求进行监控和统计,记录请求的响应时间、流量等指标,方便分析系统性能和问题排查。6. 监控和统计:可以通过与监控工具集成,对Gateway的请求进行监控和统计,获取系统的性能指标。
2024-04-20 11:32:43
1349
原创 Java面试必问题45:Hystrix的具体使用以及使用方法
总而言之,Hystrix的熔断机制通过监控服务请求的错误率,当错误率超过阈值时,快速切换到备用逻辑,避免了对失败服务的不必要请求,提高了系统的稳定性和可靠性。而Hystrix的熔断机制能够避免这种情况的发生,减少了对失败服务的依赖,提高了系统的稳定性。Hystrix是一个用于实现服务容错和熔断的库,在分布式系统中起到了保护系统免受服务故障的影响的作用。- 提高系统稳定性:通过熔断机制,当某个服务出现故障或不可用时,可以快速切换到备用的降级逻辑,保护整个系统免受服务故障的影响。
2024-04-19 09:07:06
496
原创 Java面试必问题44:谈谈Feign的工作原理
最简回答:Feign是一个声明式的Web服务客户端,通过定义Java接口来描述服务间的通信协议,包括URL、请求方法、请求参数等。当调用代理对象的方法时,Feign会根据方法的注解和参数生成HTTP请求,并发送给目标服务。总结起来,Feign的工作原理就是根据接口定义生成代理对象,通过代理对象发送HTTP请求给目标服务,并将响应解析为Java对象返回给调用者。当调用代理对象的方法时,Feign会根据方法的注解和参数生成HTTP请求,并发送给目标服务。目标服务处理完请求后,将响应返回给Feign客户端。
2024-04-19 09:05:32
644
原创 Java面试必问题43:Nacos作为注册中心的工作原理 && Nacos和Eureka的区别
最简回答:Nacos注册中心是一个服务注册与发现的工具,它提供了服务提供者将服务注册到注册中心,并让服务消费者从注册中心获取服务实例的能力。最简回答:Nacos和Eureka都是服务注册与发现组件,但Nacos比Eureka功能更丰富,除了服务注册与发现外,还提供了配置管理和服务治理功能。通过临时实例和心跳检查等机制,Nacos注册中心能够动态管理服务实例,自动剔除失去连接或不健康的实例,确保服务的可靠性和稳定性。注册中心根据服务名从存储的服务实例信息中找到对应的实例列表,并返回给服务调用者。
2024-04-18 10:24:28
912
原创 Java面试必问题42:Eureka工作原理
它通过服务注册,在启动时将服务实例信息注册到Eureka注册中心;通过服务发现,让消费者能够从注册中心获取可用的服务列表;总结起来,Eureka通过服务注册、心跳检测与续约、服务发现、负载均衡和容错处理等步骤来实现服务注册与发现的功能。服务消费者从Eureka注册中心获取注册的服务列表,并缓存在本地。它可以根据服务名称找到可用的服务实例。服务提供者在启动时,将自己的服务实例信息(包括名称、IP地址、端口号等)注册到Eureka注册中心。服务消费者使用负载均衡算法从本地的服务列表中选择一个服务实例进行调用。
2024-04-18 10:22:20
378
原创 Java面试必问题41:SpringCloud五大组件是哪几个 && SpringCloud 和 SpringBoot 的区别和关系
Spring Cloud 是关注全局的微服务协调整理治理框架以及一整套的落地解决方案,它 将 Spring Boot 开发的 一个个单体微服务整合并管理起来,为各个微服务之间提供:配置管理,服务发现,断路器,路由,微代理,事件总线等的集成服务。这五个组件是Spring Cloud中常用的核心组件,它们提供了一系列功能来简化构建分布式系统的工作,实现了服务注册与发现、负载均衡、服务调用、熔断和容错、网关等关键功能,极大地提高了分布式系统的可靠性和可用性。SpringCloud五大组件是哪几个。
2024-04-17 14:12:46
986
原创 Java面试必问题40:SpringBoot启动时都做了什么 && SpringBoot的核心注解是哪个?由哪些注解组成?
最简回答:Spring Boot启动时会加载配置文件(如application.properties)并扫描自动配置类(通过`spring.factories`),根据条件判断(如`@ConditionalOnClass`、`@ConditionalOnProperty`)自动配置各个组件,将它们注册到Spring容器中。最后,启动应用程序,处理请求,响应用户。根据`spring.factories`中配置的自动配置类路径,Spring Boot会扫描这些自动配置类,并将它们实例化。
2024-04-17 14:10:50
365
原创 Java面试必问题39:SpringBoot自动配置原理(必问)&& SpringBoot(优点)
它通过扫描类路径下的依赖、配置文件和注解等信息,结合Spring Boot提供的自动配置类和条件注解,根据条件判断自动配置哪些组件,然后将它们注入到Spring容器中。使用Spring Boot可以简化编码、简化配置、简化部署、简化监控、简化依赖坐标导入、简化整合其他技术,并提供强大的微服务支持,减少开发人员在搭建和配置项目上的工作量,使开发者能够更专注于业务逻辑的实现,快速构建可靠的、可扩展的应用程序。开发者可以通过自定义配置文件或者注解,覆盖或修改自动配置的行为,实现个性化的配置和扩展。
2024-04-16 08:55:38
610
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅