自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(122)
  • 收藏
  • 关注

原创 【JAVA进阶篇教学】第十六篇:Java中AOP使用

AOP(Aspect-Oriented Programming)是一种编程范式,它允许开发者在不修改源代码的情况下,对代码进行横切关注点的分离和增强。在 Java 中,AOP 通常通过使用 Spring Framework 或 AspectJ 等框架来实现。AOP 是一种强大的编程范式,它可以帮助开发者将系统级服务从业务逻辑中分离出来,提高代码的可读性、可维护性和可扩展性。在 Java 中,可以使用 Spring Framework 或 AspectJ 等框架来实现 AOP。

2025-03-22 15:19:21 1009 1

原创 SQL常用语句(基础)大全

数据控制语言:用来授权或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,能够对数据库进行监视。DQL是数据查询语言,主要就是select配合其他限制条件的关键字进行查询。如果查询数据的来源来自多张表,则必须对这些表进行连接查询。DDL是数据定义语言,主要是对数据库和数据表的操作。只有当第一个排序条件值一样,才会执行第二个排序条件。左外连接:是表1和表2的交集再并上表1的其他数据。右外连接:是表1和表2的交集再并上表2的其他数据。DML是数据操作语言,主要是对数据表的操作。

2025-03-22 02:32:18 423

原创 SpringCloud实战十三:Gateway之 Spring Cloud Gateway 动态路由

前面分别对 Spring Cloud Zuul 与 Spring Cloud Gateway 进行了简单的说明,它门是API网关,API网关负责服务请求路由、组合及协议转换,客户端的所有请求都首先经过API网关,然后由它将匹配的请求路由到合适的微服务,是系统流量的入口,在实际生产环境中为了保证高可靠和高可用,尽量避免重启,如果有新的服务要上线时,可以通过动态路由配置功能上线。本篇拿 Spring Cloud Gateway 为例,对网关的动态路由进行简单分析,下一篇将分享动态路由的进阶实现。

2025-03-22 00:55:37 809

原创 SpringBoot3 快速启动框架

SpringBoot官网SpringBoot 帮我们简单、快速地创建一个独立的、生产级别的Spring 应用(说明:SpringBoot底层是Spring),大多数 SpringBoot 应用只需要编写少量配置即可快速整合 Spring 平台以及第三方技术!为所有 Spring 开发提供更快速、可广泛访问的入门体验。开箱即用,设置合理的默认值,但是也可以根据需求进行适当的调整。提供一系列大型项目通用的非功能性程序(如嵌入式服务器、安全性、指标、运行检查等)。

2025-03-10 23:33:50 1129

原创 Spring Boot实现多数据源连接和切换

在 Spring Boot 中实现多数据源连接和切换,可以通过以下几种方案来实现,具体取决于项目的需求、数据库的使用模式和管理的复杂性。以下是一个常见的多数据源切换的实现方案,使用 AbstractRoutingDataSource 来动态选择数据源。创建一个自定义注解,用于指定当前方法执行时需要使用的数据源。// 数据源标识,默认使用primary数据源数据源配置:为每个数据源配置DataSourceBean。动态数据源路由:使用来实现动态切换数据源。ThreadLocal存储:使用。

2025-03-10 17:34:40 388

原创 Redis五种用途

Redis是一个高性能的key-value数据库。Redis 与其他 key - value 缓存产品有以下三个特点:- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。- Redis支持数据的备份,即master-slave模式的数据备份。

2025-03-10 12:48:26 454

原创 Node.js调用DeepSeek Api 实现本地智能聊天的简单应用

基于DeepSeek-V3模型的智能对话实时流式响应,提供即时的AI反馈自动保存对话记录,方便回顾和追踪简洁的命令行交互界面,使用便捷这个基于Node.js的DeepSeek聊天项目展示了如何构建一个简单而实用的AI对话应用。通过流式响应和自动记录等特性,为开发者提供了一个便捷的AI对话工具。项目的设计理念和实现方式都值得学习和参考。无论是想要学习AI应用开发,还是需要一个实用的对话工具,这个项目都是一个很好的选择。欢迎大家尝试使用,也期待社区能够为项目贡献更多想法和改进。

2025-03-07 22:59:04 1164

原创 MySQL用命令创建数据库以及创建表

在图形管理界面(navicat)可以看到显示的字符集和排序规则。一般创建数据库都会指定数据库的字符集为。用命令登录MySQL数据库。可以看到数据库创建成功。命令选择数据库,显示。就表示数据库切换成功。

2025-03-05 19:14:22 306

原创 MySQL 图书管理系统

(1) 图书信息:包括书籍编号,书籍名称,出版社,作者,库存量,出版日期,价格,库存,剩余量,类别等;(2) 借阅证信息:包括借阅证编号,办证日期,可借数量等;(3) 读者信息:读者编号,读者姓名,读者性别,读者电话(4) 图书借还信息:包括图书编号,借阅证编号,读者编号,借阅日期,借阅数量,归还日期,归还数量,超期天数,罚款金额等;借阅功能:图书出借时考虑三个问题:读者是否因为超期、罚款等情况被关闭了借阅权限;读者是否已经借满其限额。该书是否不在库中;如果不存在以上情况,则可以出借。

2025-03-05 17:52:07 681

原创 Java面试突击

final修饰解释类不可以被继承方法不能被重写变量不能被改变,不可变值的是变量的引用,指向的内容可以改变区别描述final如上解释finally一般作用在try-catch代码块中,一般用来存放一些关闭资源的代码finalize属于Object类的一个方法,由垃圾回收器调用finalize(),回收垃圾,一个对象是否可回收的最后判断。StringStringBufferStringBuilder可变性不可变可变可变安全性安全,因为final安全,因为加锁不安全适用少量操作多线程+大量操作单线程+大量操作I

2025-03-05 16:27:23 905

原创 java中的锁面试题

AQS是一个抽象的队列同步器,通过维护一个共享的资源状态和一个先进先出的线程等待队列来实现一个多线程访问共享资源的同步框架AQS为每个共享资源都设置了一个共享资源锁,线程在需要访问共享资源时首先需要获得共享资源锁,如果获取到了共享资源锁,既可以在当前线程使用该共享资源,如果获取不到,则将该线程放入等待队列中,等待下次调度AQS定义了两种资源共享的方式,独占式和共享式。

2025-03-05 01:20:00 346

原创 clickhouse-介绍、安装、数据类型、sql

ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),使用C++语言编写,主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。OLAP(On-Line Analytical Processing)翻译为联机分析处理,专注于分析处理,从对数据库操作来看,OLAP是对数据的查询;OLTP(on-line transaction processing)翻译为联机事务处理,专注于事务处理,从对数据库操作来看,OLTP主要是对数据的增删改。

2025-03-05 00:02:19 942

原创 重学SpringBoot3-WebClient配置与使用详解

WebClient是Spring 5引入的响应式Web客户端,用于执行HTTP请求。相比传统的RestTemplate,WebClient提供了非阻塞、响应式的方式来处理HTTP请求,是Spring推荐的新一代HTTP客户端工具。本文将详细介绍如何在SpringBoot 3.x中配置和使用WebClient。WebClient 作为 Spring 推荐的新一代 HTTP 客户端,提供了强大的响应式编程能力和更好的性能。

2025-03-03 11:56:06 978

原创 毕业设计-springboot公司员工考勤管理系统(案例分析)-附源码

社会竞争日益激烈,各行各业都越来越注重工作效率。其中计算机的信息化、自动化处理大大提高了行业的运作效率,不论是国家机构还是企业或公司,都在建立和完善自己的内部管理方面投入了大量的人力物力,目的都是通过自己的网站进行量化考核等。其中考勤作为网站中一个不可缺少的部分,它是更新员工每天的出勤信息,如请假信息、出差信息、加班信息、员工工资和考勤信息等,最后系统化、标准化发布到网站上。管理员通过简单的操作界面把对员工的考勤信息写到数据库,然后通过做好的网页模板格式与审核流程发布到网站上。这样就会大大减轻管理员的工作量

2025-03-02 22:13:43 808

原创 如何在Google Chrome浏览器中设置代理服务

希望通过本文的介绍,您能顺利设置代理,享受更安全、更自由的互联网体验。谷歌浏览器(Google Chrome)作为全球最常用的浏览器之一,并不直接提供代理设置的选项,但我们可以通过操作系统的设置或借助第三方扩展来实现代理配置。通过这种方式,代理服务器可以隐藏用户的真实IP地址,从而提升隐私保护,帮助用户绕过地理限制,甚至突破防火墙,访问被封锁的内容。通过这些代理扩展程序,您可以轻松切换不同的代理设置,甚至为不同的网站指定不同的代理。在“代理”设置界面中,您会看到“自动代理设置”和“手动代理设置”两项选择。

2025-03-02 20:54:36 619

原创 创建Spring Initializr项目

3.为了便于查询JSON数据,隐藏没有值的属性,减少流量的消耗,服务器不应该向客户端响应为NULL的属性。可以在属性或类之前添加@JsonInclude(value=Include.NON_NULL),也可以在application.properties中添加全局的配置。2.在IDEA欢迎界面,点击【New Project】按钮创建项目,左侧选择【Spring Initializr】选项进行Spring Boot项目快速构建。点击【Next】按钮完成项目创建。完成以上操作即可开些编写代码。

2025-03-02 19:15:53 428

原创 一文带你吃透JSP,增删改查实战案例详细解读

不得不说,JSP 现在已经是一门十分老旧的技术了,学习编程时,不仅要学习优秀的前言技术,还要对基础有一定的把握,所以学习 JSP 时,我们只做了解,不用刨根问底花费大量的时间,得不偿失。理解 JSP 及其原理学会使用 EL 表达式和 JSTL 标签理解 MVC 模式和三层架构(重点)学习 JSP 到什么程度呢?我们只需要能够使用 JSP 相关技术能够实现简单数据的增删改查即可。

2025-03-01 15:25:58 564

原创 【Oracle11g SQL详解】日期和时间函数:SYSDATE、TO_DATE、TO_CHAR 等

FROM dual;-- 结果:2024-12-31FROM dual;-- 结果:Today is 11TH DECEMBER, 2024。

2025-02-28 23:23:51 705

原创 【Django自学】Django入门:如何使用django开发一个web项目(非常详细)

pycharm里找到左下方的django结构,在app下右键视图,指向“New View”,点击“View Function” 快捷创建视图,修改视图函数名为【index】,这里需要与6.2里设置的path名对应。这个图是我用pycharm注册的配置,与我创建项目时输入的【应用程序名称】是对应的,与上述手动输入的格式一样,只是应用名称不一样。如果没有使用pycharm,那么在【应用名】的文件夹下,找到“views.py”,打开后,把上面的视图函数直接复制进去就可以了。到此,项目创建完成,可以简单运行一下。

2025-02-28 14:23:42 1172

转载 SQL 大厂面试题目(由浅入深)

题目:查询员工姓名(name)及其所属部门名称(dept_name),表结构为 employees(id, name, dept_id)和 departments(id, dept_name)。题目:查询 employees 表中所有薪资(salary)大于 10000 且部门编号(dept_id)为 5 的员工姓名(name)和入职日期(hire_date)。题目:查询没有订单的客户(customers 表的 id 不在 orders 表的 customer_id 中)。

2025-02-28 12:43:49 635

原创 SpringBoot项目如何导入外部jar包:详细指南

导入外部jar包到SpringBoot项目是一个简单的过程,只需要几个步骤:将jar包复制到资源目录,修改pom.xml文件以包含对jar包的引用,并确保在打包时包含这些系统依赖项。通过这种方式,你可以轻松地扩展你的SpringBoot应用的功能,而不受Maven中央仓库的限制。希望这篇文章能帮助你在SpringBoot项目中成功导入外部jar包。如果你有任何疑问或需要进一步的帮助,请随时在评论区留言。

2025-02-28 11:00:44 393

原创 SpringBoot Configuration Annotation Processor not configured 解决方案和详细问题分析以及作用

写在前:笔者出现这个问题的时候,大概猜到是什么问题,在网上也是很快找到了解决方案,但是很多帖子,并没有深究,只是单纯的解决了问题。

2025-02-27 14:07:45 657

原创 Spring Boot 条件注解:@ConditionalOnProperty 完全解析

是 Spring Boot 中非常实用的条件注解,可以通过配置文件灵活地控制 Bean 和配置类的加载,避免不必要的资源浪费,并提高系统的可维护性。在不同的环境(开发、测试、生产)中,我们可能需要加载不同的配置。在实际项目中,我们可能需要通过配置文件中的某个属性来控制某个功能的启用或禁用。在 Spring Boot 项目中,有时候我们希望根据配置文件中的某个属性值来决定是否启用某个功能或加载某个组件。注解就可以发挥作用。它通过配置文件的属性值控制 Bean 或配置类的加载,使得我们的程序更具灵活性。

2025-02-27 12:44:44 323

原创 QT数据库(三):QSqlQuery使用

QSqlQuery 是能运行任何 SQL 语句的类,如 SELECT、INSERT、UPDATE、DELETE 等 SQL语句。所以使用 QSqlQuery 几乎能进行任何操作,例如创建数据表、修改数据表的字段定义、进行数据统计等。如果运行的是 SELECT 语句,它查询出的数据可以作为一个数据集,但是并不能作为模型/视图结构中的数据模型。

2025-02-27 11:22:19 750

原创 MySQL系列之数据类型(String)

MySQL数据类型第三弹闪亮登场,欢迎关注O。本篇博主开始谈谈MySQL是如何存储字符串的,以及它有哪些规则或要求,如何正确的选择字符串类型等等话题。马不停蹄,话不宜迟,咱们边聊边谈~提示:本系列均以MySQL5.7版本为例,举例说明。本期博主介绍了MySQL中的字符串类型相关知识点,有些很重要,有些只需了解它,欢迎关注哦。

2025-02-26 02:29:12 940

原创 mysql 迁移达梦数据库出现的 sql 语法问题 以及迁移方案

Copy CodeMySQL: DATE_FORMAT( a.expiry_date, ‘%Y-%m-%d %H:%M:%S’ ) 达梦: TO_CHAR(a.expiry_date, ‘YYYY-MM-DD HH24:MI:SS’)MySQL: DATE_FORMAT( a.expiry_date, ‘%Y-%m-%d %H:%M:%S’ ) 达梦: TO_CHAR(a.expiry_date, ‘YYYY-MM-DD HH24:MI:SS’)另外,在某些函数和操作符的使用上也有一些差异。

2025-02-26 01:09:23 648

原创 Java面试——Tomcat

Server 的主要任务,就是提供一个接口让客户端能够访问到这个 Service集合,同时维护它所包含的所有的 Service的生命周期,包含如何初始化,如何结束服务,如何找到客户端要访问的 Service。是责任链模式,责任链模式是指在一个请求处理的过程中有很多处理者依次对请求进行处理,每个处理者负责做自己相应的处理,处理完之后将处理后的请求返回,再让下一个处理着继续处理。如果没有匹配,请求会发送至默认的主机。的策略:对于会话要求不太强(不涉及到计费,失败了允许重新请求下等)的场合,同一个用户的。

2025-02-25 21:47:54 960

原创 Java从入门到进阶书单推荐必收藏

这是一本能够应用于任何一种企业应用平台的、关于解决方案的、不可或缺的手册,把这些数据库对象关系、事务、并发、领域模型、MVC等等都讲得非常详细,不但有理论,还有运用场景,内容很经典,值得一看哈!这本书是非常难得的国人原创 JVM 实践书籍,是整个Java图书领域公认的经典著作和超级畅销书,Java 进阶必看的书籍之一,内容全面易懂,非常非常推荐哈!这本书语言通俗易懂,实例丰富多彩,实例中的程序代码也给出了详细的注释,对于没有学过Java的人来说,是一个非常不错的选择哈。

2025-02-24 22:53:47 501

原创 java spring 是什么_Spring详解(一)------概述

然而,Spring的用途不仅限于服务器端的开发。容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。Spring不排斥各种优秀的开源框架,相反,Spring可以降低各种框架的使用难度,Spring提供了对各种优秀框架(如Struts,Hibernate、Hessian、Quartz)等的直接支持。

2025-02-24 19:11:53 1062

原创 AFSim仿真系统-架构概览

AFSIM基于面向对象的C++架构,提供了一种可扩展和模块化的架构,使得许多附加功能能够轻松集成。AFSIM允许新的组件模型(如传感器、通信、移动器等)以及全新的组件类型被插入并在框架中使用。扩展和插件是框架扩展以集成新平台组件模型、新扩展平台功能以及新扩展仿真服务的主要机制。以下图表展示了AFSIM提供的主要框架组件和服务,这些组件和服务可以进行扩展。在AFSIM中,大多数武器是_显式_武器,即对象被明确建模为平台(如导弹和炸弹),与_隐式_武器相比,后者在模拟中不作为平台表示(如干扰机或激光器)。

2025-02-24 16:21:44 882

原创 简单爬虫:东方财富网股票数据爬取(20231230)

可以看到返回的文件中,data后为null,因此,在每个板块循环爬取时,只要碰到页码的返回文件中data的内容为null时,则停止爬取当前板块。同时由于返回文件中,data后的内容是以null变量的形式展示的,我们需要定义一个变量null,否则会出现报错NameError: name ‘null’ is not defined。查看网页源代码发现并没有目标数据,因此需要对网页进行抓包分析,查看哪个文件里包含目标数据,打开开发者模式(F12),找到目标文件。首先查看url,获取沪京深A股的第一页数据。

2025-02-23 06:21:08 697

原创 开源轻量级文件分享服务Go File本地Docker部署与远程访问

今天和大家分享一款超好用的开源轻量级文件分享工具 Go File,如何在本地 Ubuntu 使用 Docker 快速部署,并结合 cpolar 内网穿透工具一键发布公网,轻松实现随时随地远程访问分享文件。无论是办公还是日常生活中,我们都会遇到使用 PC 设备和安卓设备之间进行文件传输的时候。最近找到的这款 Go File 就是一款非常不错的文件传输工具。可用于局域网内分享文件和文件夹,直接跑满本地带宽。

2025-02-23 04:33:38 1165

原创 SQL server配置ODBC数据源(本地和服务器)

此处配置完成后会直接进入下一步,否则会显示错误信息,需要检查是否有访问服务器权限、端口号、用户密码以及服务器IP等信息;若成功,直接弹出下一步。4. 登录ID 和密码需要是远程SQL server的登录ID和密码,此外需要点击客户端配置,不要动态分配端口号,指定服务器分配的端口号。5. 选择ID和密码验证,并填写本地SQL server登录ID和密码。3. 名称之后要用到,是远程的DSN名称,服务器即远程服务器IP。4. 名称和描述自己填,服务器选择本机设备名称。2. 选择“系统DSN”,点击“添加”

2025-02-21 22:18:52 290

原创 SpringBoot整合MQTT最详细版(亲测有效)

springboot控制台(也就是PushCallback.java里的回调方法messageArrived)也成功打印出了客户端接收到的消息,如图。创建mttqController控制器发送消息,如图。MqttPushClient.java代码。使用MQTTX客户端工具查看消息成功被发送。PushCallback.java代码。AjaxResult.java代码。mttqController代码。MqttInit.java代码。浏览器输入接口地址调试发送成功。

2025-02-21 17:20:35 136

原创 Spring TransactionTemplate 深入解析与高级用法

TransactionTemplate` 是 Spring 框架中一个强大的工具,它允许开发者以编程方式控制事务。通过本文的详细解析和示例代码,我们可以看到如何使用 `TransactionTemplate` 来执行事务性操作,并处理高级事务场景。在实际开发中,合理使用事务管理对于确保数据一致性和系统稳定性至关重要。

2025-02-21 15:26:53 398

原创 Redis集群模式

redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value时,redis 先对 key 使用 crc16 算法算出一个整数结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点。一个主节点,多个从节点,那么主节点可以负责:读操作,写操作。准备: 一主二从-----3台----开三个虚拟机–为了节省虚拟机,在一台主机开启三个redis服务。

2025-02-21 02:20:39 930

原创 pg_sql关于时间的函数

作用:提取时间中某些内容(可以实现和date_part类似功能)时间戳转日期(时间戳为数值类型,若为字符型需进行转换)作用:获取日期对应的参数是当前年的第几(周、月、季)格式:日期 +/- interval ‘加减值’格式:date_trunc((‘参数’,日期))格式:date_part(‘参数’,日期)格式:extract(提取值from时间)作用:获取日期对应参数的起始。作用:实现时间日期的加减。

2025-02-20 23:59:18 150

原创 MySQL系列之远程管理(安全)

在我们的学习或工作过程中,作为开发、测试或运维人员,经常会通过各类客户端软件,远程登录MySQL数据库。作为DBA可能需要考虑这里容易出现的“纰漏”。比如在上篇文章(快捷入口)中,如果我们未设置保持登录的有效期,那么黑客可能会利用这个漏洞,进行数据窃听。当然我们能想到的,在MySQL自身迭代的过程中,自然也会涉及。今天博主开始讲讲MySQL是如何做远程登录安全吧。本文参考MySQL官方文章介绍了MySQL如何实现远程连接的安全性,包括一般配置建议。如对安全有更改的要求,可参考本文加以实践,欢迎关注。

2025-02-20 22:37:16 410

原创 使用 1panel面板 部署 springboot 和 vue

仿照别人项目做了个基于 springboot 和 vue 的网站,在腾讯云服务器上,通过 宝塔面板 部署了该项目。项目的技术栈:Vue3、Vite5、Axios、Element Plus、Wangeditor5、Highlightjs、Spring Boot2、Mybatis、MySQL8。

2025-02-16 10:02:30 896

原创 【云原生】SpringCloud-Spring Boot Starter使用测试

需要注意的是不同的 starter 是为了解决不同的依赖,所以它们内部的实现可能会有很大的差异,例如 jpa 的 starter 和 Redis 的 starter 可能实现就不一样,这是因为 starter 的本质在于 synthesize,这是一层在逻辑层面的抽象,也许这种理念有点类似于 Docker,因为它们都是在做一个 “包装” 的操作,如果你知道 Docker 是为了解决什么问题的,也许你可以用 Docker 和 starter 做一个类比。starter 的主要目的就是为了解决上面的这些问题。

2025-02-16 01:06:05 992

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除