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);

文档

欢迎关注我们的公众号:JAVA架构日记,精彩内容每日推送。

目录
相关文章
|
Java API Maven
全网首发:Spring Cloud Gateway设置统一的请求前缀
全网首发:Spring Cloud Gateway设置统一的请求前缀
1303 0
全网首发:Spring Cloud Gateway设置统一的请求前缀
|
消息中间件 前端开发 Java
Spring Cloud Config(Greenwich版本)基于数据库搭建统一配置中心
Spring Cloud Config(Greenwich版本)基于数据库搭建统一配置中心
124 0
|
安全 Java 开发工具
如何查看Spring Boot各版本的变化
1.版本 打开Spring官网,点进Spring Boot项目我们会发现在不同版本后面会跟着不同的标签:
1085 0
|
Java Linux 开发工具
SpringCloud Hoxton.SR3版本 配置中心config搭建教程
SpringCloud Hoxton.SR3版本 配置中心config搭建教程
256 0
SpringCloud Hoxton.SR3版本 配置中心config搭建教程
|
Java
Springboot集成ip2region离线IP地名映射
Java集成解析IP地址为行政区域
369 0
Springboot集成ip2region离线IP地名映射
|
JSON 缓存 运维
教程系列(二):Spring Cloud Tencent 使用配置中心管理配置
当应用的配置多了之后,往往需要配置中心来管理配置的生命周期,例如修改、发布、版本管理、回滚、多集群管理等。另外也经常遇到需要动态下发配置的场景,例如开关、业务参数等等。本文主要介绍 Spring Cloud Tencent 如何集成北极星配置中心。
588 0
教程系列(二):Spring Cloud Tencent 使用配置中心管理配置
springcloud的gateway集成问题记录
自学在整springcloud的时候发现官网给的使用版本有问题,直接导致gateway无法顺利集成。简单阐述一下。
springcloud的gateway集成问题记录
|
Java 微服务 Spring
Spring Cloud升级之路 - Hoxton - 8. 修改实例级别的熔断为实例+方法级别
Spring Cloud升级之路 - Hoxton - 8. 修改实例级别的熔断为实例+方法级别
|
安全 Java Maven
Spring Boot 2.6.1 正式发布,2.4.x Game Over,2.5.0 成最低支持版本。。
栈长刚看了下,才隔了一周左右的时间吧,Spring Boot 2.6.1 又来了: 这次我能说我真的跟不上了吗?我只想送它三个字:版本王! 这次不过是个修复版本,修复了 11 个 bug,以及文档优化,这没什么好说的了,通知到大家这个更新,有需要的可以享受免费升级。 下面给大家奉上这个版本的 Maven 依赖:
141 0
Spring Boot 2.6.1 正式发布,2.4.x Game Over,2.5.0 成最低支持版本。。
|
Ubuntu JavaScript 安全
Spring Cloud 终于大改版?为什么要用日期来做版本号?
Spring Cloud终于改了 最近Spring Cloud把版本号从A到Z的伦敦地铁站,改为以日期命名了。