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-location | classpath:ip2region/ip2region.db | ip2region.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
欢迎使用、反馈和建议。
评论