天天看點

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-SNAPSHOT

snapshots

版每次送出後會自動建構。

引用

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 順序按

mica

spring boot

spring 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 注意事項:

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架構日記,精彩内容每日推送。