Spring框架中调用HanLP分词的方法

简介:

事情是这样的,最近实验室在搞一个Java Web的项目,用的Spring MVC的框架。项目组有很多没做过Spring的学弟学妹,为了提高效率,我让大家自己先抛开Spring来写自己负责的模块,我来把各个模块在Spring里集成。
项目里有一个文本分析的模块是一个学妹负责的,里面用到了HanLP,我在集成的时候直接用maven添加的依赖,等集成好了测试的时候发现怎么也测不过,问了学妹才发现为了做实体识别,她用了一个很有意思的方法,自己改了HanLP的词典,手动加了好多词,而且后期版本迭代中还有可能继续改。。。。

改了HanLP的词典就意味着不能用maven直接导入仓库里的包了,只能直接将修改后的data文件放到本地,然后指定路径给HanLP。搜了一下网上很多方法,都是在项目部署的时候,把HanLP的词典数据放到服务器上一个固定位置上,然后再配置HanLP的配置文件,指定一个固定位置。这种方法虽然直接,但是不能把HanLP的词典数据跟整个项目打包到一起,管理起来很麻烦。倘若把数据直接作为项目的资源文件,部署到Tomcat上后无论怎么在配置里写路径都会提示找不到词典文件。研究了一下HanLP的issue之后,我发现这个项目支持自定义读写文件的IO类。在一个将词典数据放到HDFS上的一个blog启发下,我想了一个很鸡贼的方法,我重写一个IOAdapter类,使用读写静态资源文件的方法读取词典数据了,这样不就可以把data跟项目打包到一起了嘛。

代码如下:
image

整好了之后把data文件夹和hanlp.properties放到项目的资源文件夹里,在配置文件里修改一下路径和IOAdapte:

image

不知道正确的解决方案应该是啥,感觉这个方法还是很鸡贼的。

文章来源于狼血wolfblood的博客

相关文章
|
5天前
|
存储 安全 Java
事件的力量:探索Spring框架中的事件处理机制
事件的力量:探索Spring框架中的事件处理机制
22 0
|
14天前
|
缓存 Java Spring
Spring 框架中 Bean 的生命周期
Spring 框架中 Bean 的生命周期
26 1
|
1月前
|
开发框架 安全 Java
Spring 框架:企业级应用开发的强大工具
在当今数字化时代,企业级应用开发的需求日益增长。为了满足这一需求,开发者们需要一款功能强大、易于使用的开发框架。Spring 框架作为 Java 领域的领先者,为企业级应用开发提供了全面的解决方案。本文将深入探讨 Spring 框架的各个方面,包括其历史、核心模块、优势以及应用场景。
23 0
|
1月前
|
缓存 Java API
【云原生】Spring Cloud Gateway的底层原理与实践方法探究
【云原生】Spring Cloud Gateway的底层原理与实践方法探究
|
1月前
|
存储 NoSQL Java
Spring Boot统计一个Bean中方法的调用次数
Spring Boot统计一个Bean中方法的调用次数
32 1
|
1月前
|
存储 Java 数据库
|
26天前
|
Java Spring
使用JDBCTemplate实现与Spring结合,方法公用 ——测试(EmpDaoImplTest)
使用JDBCTemplate实现与Spring结合,方法公用 ——测试(EmpDaoImplTest)
8 0
|
1月前
|
人工智能 JSON 前端开发
【Spring boot实战】Springboot+对话ai模型整体框架+高并发线程机制处理优化+提示词工程效果展示(按照框架自己修改可对接市面上百分之99的模型)
【Spring boot实战】Springboot+对话ai模型整体框架+高并发线程机制处理优化+提示词工程效果展示(按照框架自己修改可对接市面上百分之99的模型)
|
2月前
|
缓存 安全 Java
Shiro框架以及Spring Boot整合Shiro
Shiro框架以及Spring Boot整合Shiro
Shiro框架以及Spring Boot整合Shiro
|
1月前
|
Java 数据库连接 API
【Spring】1、Spring 框架的基本使用【读取配置文件、IoC、依赖注入的几种方式、FactoryBean】
【Spring】1、Spring 框架的基本使用【读取配置文件、IoC、依赖注入的几种方式、FactoryBean】
46 0