前言
mica-ip2region
是开源项目 ip2region
的 stater 封装,目的是方便 spring boot
用户使用。
使用
maven
<dependency>
<groupId>net.dreamlu</groupId>
<artifactId>mica-ip2region</artifactId>
<version>${version}</version>
</dependency>
复制代码
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 包的时候遇到这个问题。
使用文档
注入 bean
@Autowired
private Ip2regionSearcher regionSearcher;
复制代码
方法说明
/**
* 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);
复制代码
使用示例
/**
* 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 开发利器)、mica(微服务组件集)、mica-mqtt(基于 t-io 的物联网 mqtt 组件),欢迎使用和反馈。也欢迎关注掘金 《mica 微服务》 专栏,谢谢大家!!!
评论抽奖
有幸参与了掘金申请掘金周边礼物活动,选取2个优质评论送出掘金徽章,快来说说你心中最好用的 mica 组件是哪个!!!
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END