Skip to content

IP Address To Region Springboot Autoconfigure IP地址转区域自动配置

License

Notifications You must be signed in to change notification settings

ALI1416/ip2region-spring-boot-autoconfigure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IP Address To Region Springboot Autoconfigure IP地址转区域SpringBoot自动配置

License Java Support Maven Central Tag Repo Size

Java CI Coverage Reliability Rating Maintainability Rating Security Rating

简介

本项目是IP地址转区域的SpringBoot自动配置

数据文件

依赖导入

<dependency>
  <groupId>cn.404z</groupId>
  <artifactId>ip2region-spring-boot-autoconfigure</artifactId>
  <version>3.2.1</version>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter</artifactId>
  <version>2.7.15</version>
</dependency>

使用方法

定义常量

final String zdbPath = "E:/ip2region.zdb";
final String ip = "123.132.0.0";

使用资源路径

// ip2region:
//   resource-path: /file/ip2region/ip2region.zdb
log.info(String.valueOf(Ip2Region.parse(ip)));
log.info("是否已经初始化:{}", Ip2Region.initialized());
// INFO cn.z.ip2region.Ip2Region                 : 数据加载成功:版本号VERSION 20221207 ,校验码CRC32 68EDD841
// INFO c.z.i.a.Ip2RegionAutoConfigurationTest   : Started Ip2RegionAutoConfigurationTest in 0.955 seconds (JVM running for 1.859)
// INFO c.z.i.a.Ip2RegionAutoConfigurationTest   : Region{country='中国', province='山东省', city='济宁市', isp='联通'}
// INFO c.z.i.a.Ip2RegionAutoConfigurationTest   : 是否已经初始化:true

使用本地路径

// ip2region:
//   local-path: E:/ip2region.zdb
log.info(String.valueOf(Ip2Region.parse(ip)));
// INFO c.z.i.a.Ip2RegionAutoConfiguration       : IP地址转区域配置:本地路径LOCAL_PATH E:/ip2region.zdb
// INFO cn.z.ip2region.Ip2Region                 : IP地址转区域初始化:文件路径LOCAL_PATH E:/ip2region.zdb
// INFO cn.z.ip2region.Ip2Region                 : 数据加载成功:版本号VERSION 20221207 ,校验码CRC32 68EDD841
// INFO c.z.i.a.Ip2RegionAutoConfigurationTest   : Started Ip2RegionAutoConfigurationTest in 0.955 seconds (JVM running for 1.859)
// INFO c.z.i.a.Ip2RegionAutoConfigurationTest   : Region{country='中国', province='山东省', city='济宁市', isp='联通'}

使用url路径

// ip2region:
//   url-path: https://www.404z.cn/files/ip2region/v3.0.0/data/ip2region.zdb
log.info(String.valueOf(Ip2Region.parse(ip)));
// INFO c.z.i.a.Ip2RegionAutoConfiguration       : IP地址转区域配置:URL路径URL_PATH https://www.404z.cn/files/ip2region/v3.0.0/data/ip2region.zdb
// INFO cn.z.ip2region.Ip2Region                 : IP地址转区域初始化:URL路径URL_PATH https://www.404z.cn/files/ip2region/v3.0.0/data/ip2region.zdb
// INFO cn.z.ip2region.Ip2Region                 : 数据加载成功:版本号VERSION 20221207 ,校验码CRC32 68EDD841
// INFO c.z.i.a.Ip2RegionAutoConfigurationTest   : Started Ip2RegionAutoConfigurationTest in 0.955 seconds (JVM running for 1.859)
// INFO c.z.i.a.Ip2RegionAutoConfigurationTest   : Region{country='中国', province='山东省', city='济宁市', isp='联通'}

优先级

// ip2region:
//   resource-path: /file/ip2region/ip2region.zdb
//   local-path: E:/ip2region.zdb
//   url-path: https://www.404z.cn/files/ip2region/v3.0.0/data/ip2region.zdb
log.info(String.valueOf(Ip2Region.parse(ip)));
// INFO cn.z.ip2region.Ip2Region                 : 数据加载成功:版本号VERSION 20221207 ,校验码CRC32 68EDD841
// INFO c.z.i.a.Ip2RegionAutoConfigurationTest   : Started Ip2RegionAutoConfigurationTest in 0.955 seconds (JVM running for 1.859)
// INFO c.z.i.a.Ip2RegionAutoConfigurationTest   : Region{country='中国', province='山东省', city='济宁市', isp='联通'}

没有配置

// # 不需要配置
log.info(String.valueOf(Ip2Region.parse(ip)));
// INFO c.z.i.a.Ip2RegionAutoConfigurationTest   : Started Ip2RegionAutoConfigurationTest in 0.955 seconds (JVM running for 1.859)
// cn.z.ip2region.Ip2RegionException: 未初始化!

配置错误

// ip2region:
//   resource-path: /file/ip2region/ip2region
log.info(String.valueOf(Ip2Region.parse(ip)));
//  INFO c.z.i.a.Ip2RegionAutoConfiguration       : IP地址转区域配置:资源路径RESOURCE_PATH /file/ip2region/ip2region
// ERROR c.z.i.a.Ip2RegionAutoConfiguration       : 资源文件异常!
// java.io.FileNotFoundException: class path resource [file/ip2region/ip2region] cannot be opened because it does not exist

配置属性后又手动初始化

// ip2region:
//   resource-path: /file/ip2region/ip2region.zdb
Ip2Region.initByFile(zdbPath);
log.info(String.valueOf(Ip2Region.parse(ip)));
// INFO cn.z.ip2region.Ip2Region                 : 数据加载成功:版本号VERSION 20221207 ,校验码CRC32 68EDD841
// INFO c.z.i.a.Ip2RegionAutoConfigurationTest   : Started Ip2RegionAutoConfigurationTest in 0.955 seconds (JVM running for 1.859)
// WARN cn.z.ip2region.Ip2Region                 : 已经初始化过了,不可重复初始化!
// INFO c.z.i.a.Ip2RegionAutoConfigurationTest   : Region{country='中国', province='山东省', city='济宁市', isp='联通'}

更多请见测试

更新日志

点击查看

关于

About

About

IP Address To Region Springboot Autoconfigure IP地址转区域自动配置

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages