- 博客(82)
- 资源 (7)
- 收藏
- 关注
原创 【排错日记】Cannot find current proxy: Set ‘exposeProxy‘ property on Advised to ‘true‘ to make it...
方法时,必须确保这一调用发生在与AOP拦截(或调用上下文)相同的线程中。这是因为Spring的代理和上下文信息通常是线程绑定的。属性,并且在尝试获取当前代理对象时,确保操作没有跨线程发生。遵循这些建议应该能避免上述错误,使你能够在切面内部正确地访问和操作代理对象。:如之前解释,为了能够在AOP代理内部访问到代理对象本身,你需要确保代理配置中。这允许Spring框架在运行时暴露代理实例,从而使得你可以在切面内部通过。简而言之,要解决这个问题,确保你的Spring配置正确设置了。:此外,该错误还强调了调用。
2024-06-05 11:02:21 717
原创 【springBoot】资源文件的变量替换
在Spring Boot项目中,可以从或中获取pom.xml中定义的变量。为了实现在中使用pom.xml中的属性,通常需要在构建过程中将这些属性注入到资源文件中。
2024-04-19 23:43:43 609 1
原创 【思路】短链生成及访问
例如,可以通过一个具有特定参数的URL,如http://xxxxxxx/j.html#p=mi&i=15&n=20220601000000015,其中p=后面的mi是前端用来标识跳转页面的。另外,短链服务的实现也可以通过部署一个短链域名解析服务来完成,这个服务可以生成短链并存储短链和长链的映射关系。在这个过程中,可以通过哈希算法生成短链。这种转换的好处是可以将越来越长的自增ID转换为更短的字符串,方便使用。当用户点击这个短链时,系统首先通过短链编码(如Z9QThlQN)查询到系统中记录的(源)长链接。
2024-02-25 12:33:53 375
原创 【ER】ER图中的实体
在实现实体的分类或继承时,子类实体是从一个通用实体(父类或超类)派生出来的具体类型。弱实体依赖于其他实体才能唯一确定其身份,通常需要一个或一组属性作为其标识符,这个标识符包含了外键(也称作支配键或标识键),即它依赖于另一个实体的主键。在一些高级建模技术中,可能存在抽象实体,它并不对应具体的实例,而是作为其他具体实体的超类或父类存在,起到分类或概括的作用。总之,ER图主要关注的是实体及其属性以及实体之间的关系,而实体的具体类型更多地是根据其在业务逻辑和数据建模上下文中的角色来理解和区分的。
2024-01-27 17:13:26 943 2
原创 【ER】ER图中的属性
此外,属性还可以根据是否允许为空进一步分类为必填属性(Not Null)和可选属性(Nullable)。在实际的数据库设计中,每种属性还会根据具体需求定义相应的数据类型、长度、精度等约束条件。在ER图(实体-联系图)中,属性是用来描述实体特征的数据项。
2024-01-27 17:07:58 1614
原创 【选型】JAVA生成PPT及选型
可以使用的框架(类库):POI,OpenOffice/LibreOffice,Aspose.Slides,Java开源报表工具(JasperReports,BIRT等)。综合来看,Apache POI以其开源免费,使用简单和可扩展性,成为实现PPT模板填充的最佳选择。Aspose.Slides也是一个不错的选择,但需要支付费用。其他方案各有优缺点,需要根据实际情况选择。
2023-09-26 12:42:45 752
原创 【JAVA】获取当前项目的classpath路径
需要注意的是,不同的项目类型(普通Java项目、Web项目等)获取classpath的方式会有些差异,需要选择合适的方法。以上方法可以获取包含类文件目录的classpath,可以通过classpath去查找和加载类文件资源。
2023-09-26 11:12:08 2246
原创 【框架】SpringBoot数组传参问题
参考:https://blog.csdn.net/u012294724/article/details/117734941。前端以字符串形式传递idList,采用逗号拼接,后端直接使用list接收。前端以JSON数组形式传递,后端使用。前端以数组形式传递,后端使用。
2023-08-21 20:35:58 856
转载 MySQL的RR级别解决幻读问题了吗
那么首先就来看看什么是幻读,MySQ官方文档定义如下:当同一个查询在不同时间生成不同的行集时,事务中就会出现所谓的幻读问题。例如,如果执行了两次 SELECT,但第二次返回了第一次没有返回的行,则该行是“幻影”行。但是产生“幻影”行这个结果的操作不是唯一的,如果我们定义幻读是专指**“新插入的行”,那可以明确地说RR级别下的已经解决了幻读问题;但是如果我们定义幻读包含“所有写操作”**,那么也可以说幻读问题没有完全被解决。这也就是我开头所说的,取决于你看待幻读这个概念的观点。
2023-07-22 20:32:41 881
原创 【排错日记】spring之Consider defining a bean of type ‘com.xxx.XxxxService‘ in your configuration.
【代码】【排错日记】spring之Consider defining a bean of type ‘com.xxx.XxxxService‘ in your configuration.
2023-07-19 12:38:05 973 2
转载 【WebSocket】WebSocket使用,看这篇就行
安全认证和授权:如果你的WebSocket应用需要安全认证和授权,你可以结合Spring Security框架来实现。消息存储和持久化:如果你的应用需要存储和持久化消息,可以结合使用WebSocket和消息队列或数据库来实现。使用适当的组件和库,将WebSocket与你的应用程序的其他部分无缝集成,以实现更复杂的功能。你可以自定义消息转换器,以实现自定义的消息格式和处理逻辑。用户认证和授权:如果你的应用程序需要对WebSocket连接进行认证和授权,你可以使用Spring Security框架来实现。
2023-07-16 23:04:13 2138
原创 【排错日记】mybatis之Invalid bound statement (not found)
其中,【classpath:mapper/*.xml】与xml的实际文件路径【src/main/resources/mapper/order/order.xml】无法匹配上,导致mybatis无法真正解析到,符合分析中的第4条。.xml】改为classpath:mapper/**/将【classpath:mapper/
2023-07-07 14:16:39 206
原创 【排错日记】Swagger之【We‘re sorry but knife4j-vue doesn‘t work properly without JavaScript enabled】
可以看到注解Api的tags属性里包含“/”,尝试去掉,验证没有问题,恢复正常。
2023-07-03 12:11:19 3914 1
原创 【MyBatis-Plus】MyBatis-plus的注入器使用
如何使用MybatisPlus的注入器来自定义SQL语句,并实现一些复杂的业务逻辑。
2023-04-01 12:10:21 899
原创 MapStruct简单入门
与动态映射框架相比,MapStruct 具有以下优点:通过使用普通方法调用而不是反射来快速执行编译时类型安全:只能映射相互映射的对象和属性。在构建时清除错误报告,如果映射不完整(并非所有目标属性都已映射)映射不正确(找不到合适的映射方法或类型转换)缺点:通过在开发中生成源代码的方式实现,所以对于动态对象数据拷贝并不适合。
2022-09-01 22:54:11 307
原创 【排错日记】前端js接收Long丢失精度
抛出问题总而言之,上面后端的方案可以全局解决Long转string的问题,但有些时候,前端是需要number类型的数据的,这个时候就只能单独再处理了。缺点所有的数字都被转成字符串输出了,包括按照timestamp格式输出的时间,影响范围大。缺点涉及字段多的话,就特别繁琐,改动比较多。优点可在字段级别调整。...
2022-07-29 19:47:01 3353 2
原创 【排错日记】redis连接错误:ERR Client sent AUTH, but no password is set
客户端设置了auth认证,但没设置密码。参考:https://blog.csdn.net/quanaianzj/article/details/84621743客户端配置文件中去掉password所在行。客户端覆写配置类,单独处理password。如:
2022-05-31 21:42:16 409
原创 【排错日记】解析邮件头信息From
背景开发一个功能读取邮件信息,其中 包含from字段的值。原代码写法from_str = header['from'].split(' ')[-1].replace('<', '').replace('>', '')预期结果:111@xxxx可知:如果header[‘from’]是=?utf-8?B?5byg5LiJ"<111@xxxx>时,from_str为=?utf-8?B?5byg5LiJ"<111@xxxx>,不是想要的结果。邮件头实例
2022-05-07 18:49:36 643
原创 【排错日记】The supplied file was empty (zero bytes long)
背景使用了hutool的excel工具类ExcelUtil现象org.apache.poi.EmptyFileException: The supplied file was empty (zero bytes long) at org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:222) at org.apache.poi.poifs.filesystem.POIFSFileSyste
2022-04-27 18:13:47 18934
原创 测试杂谈及常见单元测试框架入门
软件测试概述测试分类软件测试分类很多种按开发阶段分的话分法单元测试,集成测试,功能测试,系统测试,验收测试常用分法单元测试,功能测试,[冒烟测试],回归测试,[验收测试]其他分类 测试技术:白盒,黑盒,灰度 测试内容:功能测试,界面测试,安全测试,兼容性测试,性能测试,压力测试,恢复测试(自我修复) 冒烟,回归 单元测试在软件生命周期中的位置最小的测试单元展示图先回顾单元测试的几个概念
2022-04-10 23:50:46 328
原创 windows10 linux子系统安装-旧版手动安装
通常建议使用 wsl --install 安装适用于 Linux 的 Windows 子系统,但如果运行的是旧版 Windows,则可能不支持这种方式。安装wsl启用适用于 Linux 的 Windows 子系统PowerShell(“开始”菜单 >“PowerShell”> 单击右键 >“以管理员身份运行”)dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all
2022-02-25 11:14:09 233
原创 【Flink】报错-No ExecutorFactory found to execute the application
现象使用flink-1.14.3报错Exception in thread "main" java.lang.IllegalStateException: No ExecutorFactory found to execute the application. at org.apache.flink.core.execution.DefaultExecutorServiceLoader.getExecutorFactory(DefaultExecutorServiceLoader.java:88)
2022-02-22 23:34:05 1077
原创 源码-@PropertySource
现象引入注解@PropertySource,默认情况下处理propertis文件,无法处理yaml。探查原因在不指定factory的情况下,默认为PropertySourceFactory,见下面源码@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Repeatable(PropertySources.class)public @interface PropertySource { ...省略.
2022-02-19 14:00:06 1459
原创 Linux配置jdk环境
下载jdk版本:jdk-8u212-linux-x64.tar.gz上传到到linux目录/opt/software/解压压缩包tar -zxvf jdk-8u212-linux-x64.tar.gz配置环境变量vim /etc/profile添加内容export JAVA_HOME=/opt/software/jdk1.8.0_212export PATH=$JAVA_HOME/bin:$PATH配置文件生效source /etc/profile校验j..
2022-02-16 20:44:42 696
原创 VMWare手动安装vmware-tools
登陆虚拟机VM > Install VMware Tools或者Update VMware Tools.在虚拟机打开一个终端依次执行下列命令-- 检查磁盘驱动器是否已挂载VMware Tools virtual CD-ROM 镜像mount # 如果有/dev/cdrom on /mnt/cdrom type iso9660 (ro,nosuid,nodev),则是已挂载-- 上述镜像没有挂载则需要手动挂载mkdir /mnt/cdrommount /dev/cdr..
2022-02-16 20:20:16 3574
原创 ElasticSearch前言
Elasticsearch是什么一个分布式的实时文档存储,每个字段 可以被索引与搜索。一个分布式实时分析搜索引擎。能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据。Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。使用场景百度,google搜索结果,高亮展示。GitHub(开源代码管理),搜索上千亿行代码。电商网站,检索商品。日志数据分析,ES进行复杂的数据分析(ELK技术,elasticsear
2022-02-15 14:56:12 715
原创 初识API网关
网关是什么百度百科:网关(Gateway)又称网间连接器、协议转换器,在网络层以上实现,连接两个或者多个广域网或者局域网。我们这里说的是API网关,指的是所有api调用的统一入口。api网关的在架构中的位置,如下图 图1为什么需要网关随着微服务的增多,如果跟之前一样还是客户端直接对接不同的微服务,会有很多不便:客户端多次请求不同的服务,增加了客户端的复杂性可能存在跨域问题每个服务都需要独立身份认证随着项目的发展,将难以重构网关的功能安全防护防
2022-02-14 18:43:42 1346
原创 重构实例之-借助泛型和函数式接口
在日常开发过程中,经常发现同样的方法结构出现多次,差异较小,可以借助泛型等手段抽象出公用方法。示例原逻辑// 变更出入参 this.mergeOrDelInputParam(inputJson); this.mergeOrDelQaOutputParam(outputJson); //入参private void mergeOrDelInputParam(String inputJson) { if (StringUtils.isEmpty(inputJson)) {
2022-01-20 16:07:53 222
原创 【IDEA】常见问题100问
1. 文件存在却无法被引用,引用报错。解决:File -> Invalidate Caches/Restart , 选重启。
2021-10-29 15:19:00 84
原创 【MYSQL】字段值逗号分隔的怎么查询?
数据库存储怎么查询包含这些值的数据呢?可以这么写:点击查看代码... where field1 regexp (select replace(config_value, ',', '|') config_value from table1 where ... )......
2021-10-14 11:13:00 519
原创 【排错日记】mysql无法使用别名查询
现象:java无法使用别名查询结果,执行如下SQLselect name as userName from student查询的结果userName没有值。原因:数据库驱动版本高于5.0.x,默认不支持别名查询。解决:数据库连接添加参数 useOldAliasMetadataBehavior=true,如:jdbc:mysql://localhost:3306/xx?useOld......
2021-07-19 11:38:00 818
原创 【排错日记】java.lang.IllegalStateException: It is illegal to call this method if the current...
情景:AOP获取请求参数,并转成JSON字符串时抛出原因:ServletRequest,ServletResponse,MultipartFile不能被序列化,需要排除之后再做序列化。示例:Object[] args = joinPoint.getArgs();Object[] arguments = new Object[args.length];for (int i = 0......
2021-07-02 20:26:00 1454
JSP网站开发典型模块与实例精讲源码
2010-09-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人