mica 2.0.1 发布新增最好用的 ip2region boot stater

mica(云母)

mica 由如梦技能内部的 lutool(撸秃)演化而来。lutool 诞生于 2017 年,受 jhipster 启示逐步形成一个微服务的中心集。

因 lutool 称号与功用不太契合,故在2019年开源时将其改名为 mica(云母),寓意为云服务的柱石。

mica 2.x中心依靠

mica 根据 java 8,没有前史包袱,支撑传统 Servlet 和 Reactive(webflux)。选用 mica-auto 主动生成 spring.factories 和 spring-devtools.properties 装备,仅依靠 Spring boot、Spring cloud 全家桶,无第三方依靠。市面上鲜有的微服务中心组件。

依靠 版别
Spring Boot 2.2.x

mica 2.0.1 更新阐明

  • :sparkles: 开源 mica-ip2region 组件。
  • :zap: mica-core 优化 R.isNotSuccess 改为 isFail。
  • :bug: mica-redis jackson class info。
  • :bug: mica-redis jackson findAndRegisterModules。
  • :wrench: travis 替换为 Github actions,用于构建和 Snapshot 版别主动发布。
  • :arrow_up: update spring boot to 2.2.7.RELEASE。

版别号阐明

release 版别号格局为 x.x.x.发版当然日期,防止和内部的版别号抵触。

snapshots 版别号格局为 x.x.x-SNAPSHOTsnapshots 版每次提交后会主动构建。

引证

mica-bom,能够简化依靠和依靠版别一致处理,防止jar抵触。

<dependencyManagement>
<dependencies>
<dependency>
<groupId>net.dreamlu</groupId>
<artifactId>mica-bom</artifactId>
<version>2.0.1.20200510</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

留意:maven 是按先后次序进行依靠的,所以 mica-bom 次序按 micaspring bootspring cloud顺次增加。

mica-ip2region 最好用的 ip2region spring stater

maven

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

gradle

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

装备阐明(现已内置,疏忽)

装备项 默许值 阐明
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

ip2region Gitee 源码地址:https://gitee.com/lionsoul/ip2region

咱们都会同步更新 ip2region.db 文件,一般不需求手动装备。

运用文档

注入 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 btreeSearch(long ip);
/**
* ip 方位 查找
*
* @param ip ip
* @return 方位
*/
@Nullable
IpInfo btreeSearch(String ip);
/**
* ip 方位 查找
*
* @param ip ip
* @return 方位
*/
@Nullable
IpInfo binarySearch(long ip);
/**
* ip 方位 查找
*
* @param ip ip
* @return 方位
*/
@Nullable
IpInfo binarySearch(String ip);

文档

  • 文档地址(语雀-可重视订阅):https://www.yuque.com/dreamlu
  • 示例项目:https://github.com/lets-mica/mica-example

欢迎重视咱们的大众号:JAVA架构日记,精彩内容每日推送。