- 背景公司的框架是基于mysql5.7开发的,最近有一个应用项目部署在linux系统上,使用的是mysql8.0,安装时未开启大小写敏感忽略,客户又不允许重装mysql环境,导致一些框架代码和业务代码中表名使用大写的地方会出现表名找不不到的情况,所以需要进行统一处理 自定义SQLAST适配器自定义ASTVisitorAdapter对表名进行修改public class MySqlExport... 背景公司的框架是基于mysql5.7开发的,最近有一个应用项目部署在linux系统上,使用的是mysql8.0,安装时未开启大小写敏感忽略,客户又不允许重装mysql环境,导致一些框架代码和业务代码中表名使用大写的地方会出现表名找不不到的情况,所以需要进行统一处理 自定义SQLAST适配器自定义ASTVisitorAdapter对表名进行修改public class MySqlExport...
- 前言项目api编写有文档但是调试麻烦,需要借助postman/apipost等第三方工具,需要在开发框架中内置接口管理及调试功能增加开发便捷性 pom配置说明,框架使用springboot版本为2.0.0.RELEASE <dependency> <groupId>com.github.xiaoymin</groupId> <art... 前言项目api编写有文档但是调试麻烦,需要借助postman/apipost等第三方工具,需要在开发框架中内置接口管理及调试功能增加开发便捷性 pom配置说明,框架使用springboot版本为2.0.0.RELEASE <dependency> <groupId>com.github.xiaoymin</groupId> <art...
- 背景接上文SpringBoot集成markdown实现文档管理,对于表格的支持markdown不是特别友好,同时内部文档管理需要增加表格式api接口文档的功能,所以决定采用结合数据库存储与动态生成pdf借助目录结构展示的方式 表结构设计目录表DROP TABLE IF EXISTS `knowledge_interfacecatalog`;CREATE TABLE `knowledge_i... 背景接上文SpringBoot集成markdown实现文档管理,对于表格的支持markdown不是特别友好,同时内部文档管理需要增加表格式api接口文档的功能,所以决定采用结合数据库存储与动态生成pdf借助目录结构展示的方式 表结构设计目录表DROP TABLE IF EXISTS `knowledge_interfacecatalog`;CREATE TABLE `knowledge_i...
- 背景项目开发过程中我们我们会遇到访问静态文件的情况,例如word书签模板,excel导入模板,条文法规文件等,在war包的情况下访问是没有问题的,如果使用jar包部署,使用相对路径访问会出现问题,本文就此问题给出解决方案。 配置resources文件夹下创建静态目录systemfile,放入测试文件test.docx(文件名需要命名为英文)pom文件resource/build节点设置打包... 背景项目开发过程中我们我们会遇到访问静态文件的情况,例如word书签模板,excel导入模板,条文法规文件等,在war包的情况下访问是没有问题的,如果使用jar包部署,使用相对路径访问会出现问题,本文就此问题给出解决方案。 配置resources文件夹下创建静态目录systemfile,放入测试文件test.docx(文件名需要命名为英文)pom文件resource/build节点设置打包...
- 背景在使用springboot开发项目过程中,会有多种环境切换,例如开发环境,测试环境,演示环境,生产环境等,我们通过建立多个yml文件结合profiles.active属性进行环境指定,但是需要打包时就要手动更改配置文件逐个打包,容易造成不必要的误操作,本文就介绍如何进行不同环境配置文件的动态切换及一次性打包多个不同环境的部署包 配置pom文件pom文件添加profiles配置,项目有多... 背景在使用springboot开发项目过程中,会有多种环境切换,例如开发环境,测试环境,演示环境,生产环境等,我们通过建立多个yml文件结合profiles.active属性进行环境指定,但是需要打包时就要手动更改配置文件逐个打包,容易造成不必要的误操作,本文就介绍如何进行不同环境配置文件的动态切换及一次性打包多个不同环境的部署包 配置pom文件pom文件添加profiles配置,项目有多...
- 在GitEgg工程的根目录,最上级父pom.xml文件中引入需要依赖的库及Maven插件,设置编码方式: 在GitEgg工程的根目录,最上级父pom.xml文件中引入需要依赖的库及Maven插件,设置编码方式:
- Synchronized原理是什么? 1. 简介在多线程编程中,为了确保共享资源的安全性,我们需要使用同步机制。其中,synchronized关键字是Java语言提供的一种同步机制,用于保护临界区,防止多个线程同时访问共享资源而出现数据不一致或异常的情况。本文将介绍synchronized关键字的工作原理,并通过示例代码演示其在多线程环境下的使用。 2. synchronized关键字的使... Synchronized原理是什么? 1. 简介在多线程编程中,为了确保共享资源的安全性,我们需要使用同步机制。其中,synchronized关键字是Java语言提供的一种同步机制,用于保护临界区,防止多个线程同时访问共享资源而出现数据不一致或异常的情况。本文将介绍synchronized关键字的工作原理,并通过示例代码演示其在多线程环境下的使用。 2. synchronized关键字的使...
- ChatGPT自推出以来,技术屡屡推高,近日更是涉及到各个领域,更有传言这无比强大的GPT-4其实是去年年底的产物,GPT-5已经蓄势待发了,这个GPT-4是去年年底的产物我是相信的,毕竟以3.5这种小更新来说,半年时间对于OpenAI来应该算不上难事,相对来说GPT-3才具有革命性意义,之所以这么强力的全方面的强势加入各个领域,是因为一个字:钱,OpenAI随着微软的100亿美元资金注入,... ChatGPT自推出以来,技术屡屡推高,近日更是涉及到各个领域,更有传言这无比强大的GPT-4其实是去年年底的产物,GPT-5已经蓄势待发了,这个GPT-4是去年年底的产物我是相信的,毕竟以3.5这种小更新来说,半年时间对于OpenAI来应该算不上难事,相对来说GPT-3才具有革命性意义,之所以这么强力的全方面的强势加入各个领域,是因为一个字:钱,OpenAI随着微软的100亿美元资金注入,...
- 摘要英伟达不再是游戏显卡业务主营的公司,目前主要依赖于nba数据中心和笔记本显卡销售。目前整个显卡市场的价格涨跌不大,除了矿潮的爆发影响。未来市场移动显卡需求有所改变,不确定显卡价格趋势。监管方对市场掌控能力有限。亮点💰 目前英伟达不依赖于游戏显卡业务,主要依靠nba和笔记本电脑销售。🚀 目前整个显卡市场的价格涨跌趋势不大,仅矿潮爆发时价格有所上升。💻 未来显卡市场不能确定移动显卡的价... 摘要英伟达不再是游戏显卡业务主营的公司,目前主要依赖于nba数据中心和笔记本显卡销售。目前整个显卡市场的价格涨跌不大,除了矿潮的爆发影响。未来市场移动显卡需求有所改变,不确定显卡价格趋势。监管方对市场掌控能力有限。亮点💰 目前英伟达不依赖于游戏显卡业务,主要依靠nba和笔记本电脑销售。🚀 目前整个显卡市场的价格涨跌趋势不大,仅矿潮爆发时价格有所上升。💻 未来显卡市场不能确定移动显卡的价...
- 作为Java开发者,我们应该遵循一定的原则和规范来编写高质量的代码。遵循简洁之道,编写符合规范的Java代码,善用设计模式,遵循SOLID原则,这些可以指导你写出优雅简洁的Java代码。下面就由丸子为大家带来本期内容吧叭~图片https://www.processon.com/view/618e1c451e0853689b0b099c?fromnew=1图片https://www.proce... 作为Java开发者,我们应该遵循一定的原则和规范来编写高质量的代码。遵循简洁之道,编写符合规范的Java代码,善用设计模式,遵循SOLID原则,这些可以指导你写出优雅简洁的Java代码。下面就由丸子为大家带来本期内容吧叭~图片https://www.processon.com/view/618e1c451e0853689b0b099c?fromnew=1图片https://www.proce...
- Select 和 poll 是两种常用的网络编程模型,它们都可以用来实现异步 I/O 操作。然而,它们之间存在一些重要的区别,本文将详细探讨这些区别以及如何选择正确的模型来满足不同的需求。 1. 概念Select 是一种异步 I/O 模型,它允许程序在等待 I/O 完成时继续执行其他任务。Select 模型在服务器端广泛使用,它可以监控多个文件描述符(例如套接字)的 I/O 状态,当其中一个... Select 和 poll 是两种常用的网络编程模型,它们都可以用来实现异步 I/O 操作。然而,它们之间存在一些重要的区别,本文将详细探讨这些区别以及如何选择正确的模型来满足不同的需求。 1. 概念Select 是一种异步 I/O 模型,它允许程序在等待 I/O 完成时继续执行其他任务。Select 模型在服务器端广泛使用,它可以监控多个文件描述符(例如套接字)的 I/O 状态,当其中一个...
- Disruptor是一个高性能的无锁环形缓冲区,在高并发环境下可以提供极高的性能。它的设计目标是为了解决生产者-消费者模式中的瓶颈问题,通过利用多线程和内存缓存等技术手段,实现了高效的消息传递和处理。Disruptor的核心思想是基于Ring Buffer(环形缓冲区)的内存架构,通过预先分配一块连续的内存空间,并在其中创建一个环形的缓冲区,来存储生产者生产的消息。同时,为了避免多线程并发访... Disruptor是一个高性能的无锁环形缓冲区,在高并发环境下可以提供极高的性能。它的设计目标是为了解决生产者-消费者模式中的瓶颈问题,通过利用多线程和内存缓存等技术手段,实现了高效的消息传递和处理。Disruptor的核心思想是基于Ring Buffer(环形缓冲区)的内存架构,通过预先分配一块连续的内存空间,并在其中创建一个环形的缓冲区,来存储生产者生产的消息。同时,为了避免多线程并发访...
- Spring Boot 读取配置文件的方式有很多,下面介绍 10 种常用方式以及相应的示例和解析。@Value 注解使用 @Value 注解可以直接将配置文件中的值注入到对应的属性上,示例如下:@Value("${spring.datasource.url}")private String url;这里的 ${spring.datasource.url} 是从 application.ym... Spring Boot 读取配置文件的方式有很多,下面介绍 10 种常用方式以及相应的示例和解析。@Value 注解使用 @Value 注解可以直接将配置文件中的值注入到对应的属性上,示例如下:@Value("${spring.datasource.url}")private String url;这里的 ${spring.datasource.url} 是从 application.ym...
- 近期一个原业务图片上传的接口偶发会报异常,原有高可用方案是当上传七牛云失败上传腾讯云,都失败才会报异常,或者会存在目录创建失败的异常,此类异常重试即可解决,但近期异常如下org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded; nested exceptio... 近期一个原业务图片上传的接口偶发会报异常,原有高可用方案是当上传七牛云失败上传腾讯云,都失败才会报异常,或者会存在目录创建失败的异常,此类异常重试即可解决,但近期异常如下org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded; nested exceptio...
- 配置mysql配置项这个根据自己项目的配置项进行,有的习惯在mybaits下配置db,我的是在spring.datasource配置:master名字,slaver1名字自己取,也可以叫write,read配置mybaits配置项:# MyBatismybatis: type-aliases-package: com.zyd.blog.persistence.beans mapper-l... 配置mysql配置项这个根据自己项目的配置项进行,有的习惯在mybaits下配置db,我的是在spring.datasource配置:master名字,slaver1名字自己取,也可以叫write,read配置mybaits配置项:# MyBatismybatis: type-aliases-package: com.zyd.blog.persistence.beans mapper-l...
上滑加载中
推荐直播
-
华为云师资培训——《软件工程》课程
2025/08/05 周二 15:00-16:30
Pamela - PaaS开发者支持讲师
华为云师资培训直播,带您掌握产业级软件工程课程体系与华为开发者空间实战能力,助力高校数字化转型!
回顾中 -
大模型赋能开发者社区生态建设
2025/08/05 周二 20:00-21:00
上海交通大学教授曹健
当AI技术重构开发者生态,社区建设如何跳出“流量陷阱”,回归价值本质?本次直播特邀深耕开发者社区研究的专家,上海交通大学教授曹健老师,通过 “社区生态三维模型”(价值共生、技术赋能、情感联结)的核心理论,拆解AI时代社区建设的底层逻辑。如何用AI工具降低参与门槛,让技术交流从“精英圈层”走向“普惠共生”?怎样通过算法优化内容匹配,让社区资源精准触达开发者真实需求?当机器逐渐承担基础协作,社区如何强化“人与人”的情感认同,避免沦为冰冷的技术工具库?
回顾中
热门标签