mica-ip2region 最好用的 Spring boot ip 转地址 stater

JAVA架构日记

共 3277字,需浏览 7分钟

 ·

2021-09-10 16:39

一、前言

mica-ip2region 是开源项目 ip2region 的 stater 封装,目的是方便 spring boot 用户使用。

二、使用

2.1 maven

<dependency>
  <groupId>net.dreamlu</groupId>
  <artifactId>mica-ip2region</artifactId>
  <version>${version}</version>
</dependency>

2.2 gradle

compile("net.dreamlu:mica-ip2region:${version}")

三、配置说明(已经内置,可忽略)

注意:mica 都会第一时间同步更新 ip2region.db 文件,一般不需要手动配置。

配置项默认值说明
mica.ip2region.db-file-locationclasspath:ip2region/ip2region.dbip2region.db 文件的地址,默认内置的文件

maven 自定义 ip2region.db 文件注意事项:

maven resources 拷贝文件是默认会做 filter,会导致我们的文件发生变化,导致不能读,pom 中你需要添加下面的配置。

<plugin>
 <artifactId>maven-resources-plugin</artifactId>
 <configuration>
  <nonFilteredFileExtensions>
   <nonFilteredFileExtension>db</nonFilteredFileExtension>
  </nonFilteredFileExtensions>
 </configuration>
</plugin>

很多同学在使用 ip2region 原生 jar 包的时候遇到这个问题。

四、使用文档

4.1 注入 bean

@Autowired
private Ip2regionSearcher regionSearcher;

4.2 方法说明

/**
 * ip 位置 搜索
 *
 * @param ip ip
 * @return 位置
 */

@Nullable
IpInfo memorySearch(long ip);

/**
 * ip 位置 搜索
 *
 * @param ip ip
 * @return 位置
 */

@Nullable
IpInfo memorySearch(String ip);

/**
 * ip 位置 搜索
 *
 * @param ptr ptr
 * @return 位置
 */

@Nullable
IpInfo getByIndexPtr(long ptr);

/**
 * ip 位置 搜索
 *
 * @param ip ip
 * @return 位置
 */

@Nullable
IpInfo binarySearch(long ip);

/**
 * ip 位置 搜索
 *
 * @param ip ip
 * @return 位置
 */

@Nullable
IpInfo binarySearch(String ip);


/**
 * 获取地址信息
 *
 * @param ip ip
 * @return 地址
 */

@Nullable
String getAddress(long ip);

/**
 * 获取地址信息
 *
 * @param ip ip
 * @return 地址
 */

@Nullable
String getAddress(String ip);

/**
 * 获取地址信息包含 isp
 *
 * @param ip ip
 * @return 地址
 */

@Nullable
String getAddressAndIsp(long ip);

/**
 * 获取地址信息包含 isp
 *
 * @param ip ip
 * @return 地址
 */

@Nullable
String getAddressAndIsp(String ip);

4.3 使用示例

/**
 * ip2region 服务
 *
 * @author L.cm
 */

public class Ip2regionServiceImpl implements IIp2regionService {
 
 @Autowired
 private Ip2regionSearcher regionSearcher;

 @Override
 public String getAddress(String ip) {
  return regionSearcher.getAddress(ip);
 }

}

五、关于微服务组件集 mica

大家好,我是 mica 微服务组件集的开源作者,mica 开源三年多,我们一直在完善生态。目前已经开源了:

  • mica-auto(Spring boot stater 利器):https://gitee.com/596392912/mica-auto

  • mica(微服务组件集):https://gitee.com/596392912/mica

  • mica-mqtt(基于 t-io 的物联网 mqtt 组件):https://gitee.com/596392912/mica-mqtt

欢迎使用、反馈和建议。

mica 开源组件图谱
浏览 59
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报