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

4,540 阅读2分钟

前言

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-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 包的时候遇到这个问题。

使用文档

注入 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 微服务》 专栏,谢谢大家!!!

image.png

评论抽奖

有幸参与了掘金申请掘金周边礼物活动,选取2个优质评论送出掘金徽章,快来说说你心中最好用的 mica 组件是哪个!!!