对于那些关注此博客的人来说,难怪我倾向于大量使用InfluxDB。 我喜欢这样一个事实,它是一个真正的单一用途的数据库(时间序列),具有许多功能,并且还带有企业支持。

Spring也是我选择的工具之一。 因此,在本博客中,我们将把spring与micrometer和InfluxDB集成在一起。

我们的应用程序将是用于工作的rest api。 最初,它会从GitHub的工作API如图所示取乔布斯在这里 。


让我们从pom开始

 <?xml version= "1.0" encoding= "UTF-8" ?>  <project xmlns= " http://maven.apache.org/POM/4.0.0 " xmlns:xsi= " http://www.w3.org/2001/XMLSchema-instance " xsi:schemaLocation= " http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd " > <modelVersion> 4.0 . 0 </modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version> 2.2 . 4 .RELEASE</version> </parent> <groupId>com.gkatzioura</groupId> <artifactId>DevJobsApi</artifactId> <version> 1.0 -SNAPSHOT</version> <build> <defaultGoal>spring-boot:run</defaultGoal> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source> 8 </source> <target> 8 </target> </configuration> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version> 1.18 . 12 </version> <scope>provided</scope> </dependency> </dependencies>  </project> 

让我们为GitHub添加Job Repository。

 package com.gkatzioura.jobs.repository;  import java.util.List;  import org.springframework.http.HttpMethod;  import org.springframework.stereotype.Repository;  import org.springframework.web.reactive.function.client.WebClient;  import com.gkatzioura.jobs.model.Job;  import reactor.core.publisher.Mono;  @Repository  public class GitHubJobRepository { private WebClient githubClient; public GitHubJobRepository() { this .githubClient = WebClient.create( " https://jobs.github.com " ); } public Mono<List<Job>> getJobsFromPage( int page) { return githubClient.method(HttpMethod.GET) .uri( "/positions.json?page=" + page) .retrieve() .bodyToFlux(Job. class ) .collectList(); }  } 

工作模式

 package com.gkatzioura.jobs.model;  import lombok.Data;  @Data  public class Job { private String id; private String type; private String url; private String createdAt; private String company; private String companyUrl; private String location; private String title; private String description;  } 

控制器

 package com.gkatzioura.jobs.controller;  import java.util.List;  import org.springframework.web.bind.annotation.GetMapping;  import org.springframework.web.bind.annotation.PathVariable;  import org.springframework.web.bind.annotation.RequestMapping;  import org.springframework.web.bind.annotation.RestController;  import com.gkatzioura.jobs.model.Job;  import com.gkatzioura.jobs.repository.GitHubJobRepository;  import reactor.core.publisher.Mono;  @RestController  @RequestMapping ( "/jobs" )  public class JobsController { private final GitHubJobRepository gitHubJobRepository; public JobsController(GitHubJobRepository gitHubJobRepository) { this .gitHubJobRepository = gitHubJobRepository; } @GetMapping ( "/github/{page}" ) private Mono<List<Job>> getEmployeeById( @PathVariable int page) { return gitHubJobRepository.getJobsFromPage(page); }  } 

最后但并非最不重要的主要应用程序。

 com.gkatzioura; package com.gkatzioura;  import org.springframework.boot.SpringApplication;  import org.springframework.boot.autoconfigure.EnableAutoConfiguration;  import org.springframework.boot.autoconfigure.SpringBootApplication;  import org.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration;  @SpringBootApplication  @EnableAutoConfiguration (exclude = { ReactiveSecurityAutoConfiguration. class  })  public class Application { public static void main(String[] args) { SpringApplication.run(Application. class , args); }  } 

在下一个博客中,我们将与InfluxDB和测微仪集成。

翻译自: https://www.javacodegeeks.com/2020/02/spring-boot-and-micrometer-with-inlfuxdb-part-1-the-base-project.html

具有InlfuxDB的Spring Boot和Micrometer第1部分:基础项目相关推荐

  1. micrometer_具有InlfuxDB的Spring Boot和Micrometer第3部分:Servlet和JDBC

    micrometer 在上一个博客中,我们使用由InfluxDB支持的Micrometer设置了React式应用程序. 在本教程中,我们将使用传统的带有JDBC的基于Servlet的阻塞Spring堆 ...

  2. micrometer_具有InlfuxDB的Spring Boot和Micrometer第1部分:基础项目

    micrometer 对于那些关注此博客的人来说,难怪我会经常使用InfluxDB. 我喜欢这样一个事实,它是一个真正的单一用途的数据库(时间序列),具有许多功能,并且还带有企业支持. Spring也 ...

  3. 具有InlfuxDB的Spring Boot和Micrometer第3部分:Servlet和JDBC

    在上一个博客中,我们使用由InfluxDB支持的千分尺设置了反应式应用程序. 在本教程中,我们将使用传统的带JDBC阻塞式Servlet的Spring Stack. 我选择的数据库是postgresq ...

  4. micrometer_具有InlfuxDB的Spring Boot和Micrometer第2部分:添加InfluxDB

    micrometer 自从我们添加了基本应用程序以来,是时候启动InfluxDB实例了. 我们将按照之前的教程进行操作,并添加一个docker实例. docker run –rm -p 8086:80 ...

  5. 具有InlfuxDB的Spring Boot和Micrometer第2部分:添加InfluxDB

    自从我们添加了基本应用程序以来,是时候启动InfluxDB实例了. 我们将按照之前的教程进行操作,并添加一个docker实例. docker run –rm -p 8086:8086 –name in ...

  6. Spring Boot –现代Java应用程序的基础

    Spring Boot是Spring.io中一个相对较新的项目. 其目的是简化创建新的基于Spring Framework的项目,并通过应用一些约定来统一其配置. 这种关于配置的方法约定已经成功地应用 ...

  7. Spring Boot + Mybatis 多模块(module)项目的完整搭建教程

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:http://sina.lt/gmQc 一.前言 最近公司项 ...

  8. 基于 Spring Boot 的车牌识别系统(附项目地址)

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! gitee开源地址 " https://git ...

  9. 基于 Spring Boot 的车牌识别系统(附项目地址)ba

    gitee开源地址 " https://gitee.com/admin_yu/yx-image-recognition 嘿嘿,胖友给艿艿的 https://github.com/YunaiV ...

最新文章

  1. 计算机组成原理 输入输出系统,计算机组成原理(第七章输入输出系统
  2. c类网络使用子网掩码有无实际意义_弄懂IP系列(2)(刘晶作品)|子网掩码到底是啥?...
  3. CODEVS1490 [CTSC2008]网络管理
  4. 中国固废处理行业十四五建议规划与前景深度研究报告2022-2028年
  5. 剑指offer-3 从尾到头打印链表
  6. 解决Exchange2010中无法显示客户端访问服务器ClientAccessArray中成员的问题
  7. dart服务器开发性能,DartVM服务器开发(第四天)--代码优化
  8. GCC中SIMD指令的应用方法
  9. Android:如何从堆栈中还原ProGuard混淆后的代码
  10. python安装idle_Python从零单排之Python环境及IDLE安装
  11. linux漏洞抓鸡,风靡全球的Ms08-067漏洞抓鸡大曝光
  12. kali学习-主动信息收集
  13. 使用全局优化方法识别中文事件因果关系
  14. CSDN博客专栏申请方法
  15. 20221106EXCEL/腾讯文档 部分常用函数嵌套用法总结
  16. 电脑插上耳机没声音 解决方法
  17. python的元组是否能重复_python – 在带有元组的列表列表中查找重复项
  18. 4G PCIE网卡在英创ESM6800上的使用步骤
  19. 腾讯云运维工程师认证模拟题
  20. git 如何将主分支(master)合并到子分支上

热门文章

  1. ssl1643-最小乘车费用【dp练习】
  2. 【深搜】 棋盘 【NOIp普及组 2017 第三题】 (luogu 3956/ssl 2851)
  3. 双向广搜 8数码问题
  4. Sentinel(十六)之AHAS Sentinel 控制台
  5. Redis 5.0 正式版发布了,19 个新特性
  6. Tomcat 的 Server 文件配置详解
  7. 从开发者角度谈Mysql主键
  8. Java NIO总结
  9. 使用ueditor实现多图片上传案例——实体类(Shopping.java)
  10. sql server案例总结