具有InlfuxDB的Spring Boot和Micrometer第1部分:基础项目
对于那些关注此博客的人来说,难怪我倾向于大量使用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部分:基础项目相关推荐
- micrometer_具有InlfuxDB的Spring Boot和Micrometer第3部分:Servlet和JDBC
micrometer 在上一个博客中,我们使用由InfluxDB支持的Micrometer设置了React式应用程序. 在本教程中,我们将使用传统的带有JDBC的基于Servlet的阻塞Spring堆 ...
- micrometer_具有InlfuxDB的Spring Boot和Micrometer第1部分:基础项目
micrometer 对于那些关注此博客的人来说,难怪我会经常使用InfluxDB. 我喜欢这样一个事实,它是一个真正的单一用途的数据库(时间序列),具有许多功能,并且还带有企业支持. Spring也 ...
- 具有InlfuxDB的Spring Boot和Micrometer第3部分:Servlet和JDBC
在上一个博客中,我们使用由InfluxDB支持的千分尺设置了反应式应用程序. 在本教程中,我们将使用传统的带JDBC阻塞式Servlet的Spring Stack. 我选择的数据库是postgresq ...
- micrometer_具有InlfuxDB的Spring Boot和Micrometer第2部分:添加InfluxDB
micrometer 自从我们添加了基本应用程序以来,是时候启动InfluxDB实例了. 我们将按照之前的教程进行操作,并添加一个docker实例. docker run –rm -p 8086:80 ...
- 具有InlfuxDB的Spring Boot和Micrometer第2部分:添加InfluxDB
自从我们添加了基本应用程序以来,是时候启动InfluxDB实例了. 我们将按照之前的教程进行操作,并添加一个docker实例. docker run –rm -p 8086:8086 –name in ...
- Spring Boot –现代Java应用程序的基础
Spring Boot是Spring.io中一个相对较新的项目. 其目的是简化创建新的基于Spring Framework的项目,并通过应用一些约定来统一其配置. 这种关于配置的方法约定已经成功地应用 ...
- Spring Boot + Mybatis 多模块(module)项目的完整搭建教程
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:http://sina.lt/gmQc 一.前言 最近公司项 ...
- 基于 Spring Boot 的车牌识别系统(附项目地址)
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! gitee开源地址 " https://git ...
- 基于 Spring Boot 的车牌识别系统(附项目地址)ba
gitee开源地址 " https://gitee.com/admin_yu/yx-image-recognition 嘿嘿,胖友给艿艿的 https://github.com/YunaiV ...
最新文章
- 计算机组成原理 输入输出系统,计算机组成原理(第七章输入输出系统
- c类网络使用子网掩码有无实际意义_弄懂IP系列(2)(刘晶作品)|子网掩码到底是啥?...
- CODEVS1490 [CTSC2008]网络管理
- 中国固废处理行业十四五建议规划与前景深度研究报告2022-2028年
- 剑指offer-3 从尾到头打印链表
- 解决Exchange2010中无法显示客户端访问服务器ClientAccessArray中成员的问题
- dart服务器开发性能,DartVM服务器开发(第四天)--代码优化
- GCC中SIMD指令的应用方法
- Android:如何从堆栈中还原ProGuard混淆后的代码
- python安装idle_Python从零单排之Python环境及IDLE安装
- linux漏洞抓鸡,风靡全球的Ms08-067漏洞抓鸡大曝光
- kali学习-主动信息收集
- 使用全局优化方法识别中文事件因果关系
- CSDN博客专栏申请方法
- 20221106EXCEL/腾讯文档 部分常用函数嵌套用法总结
- 电脑插上耳机没声音 解决方法
- python的元组是否能重复_python – 在带有元组的列表列表中查找重复项
- 4G PCIE网卡在英创ESM6800上的使用步骤
- 腾讯云运维工程师认证模拟题
- git 如何将主分支(master)合并到子分支上