日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

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

發(fā)布時(shí)間:2023/12/3 javascript 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 具有InlfuxDB的Spring Boot和Micrometer第1部分:基础项目 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

對(duì)于那些關(guān)注此博客的人來(lái)說(shuō),難怪我傾向于大量使用InfluxDB。 我喜歡這樣一個(gè)事實(shí),它是一個(gè)真正的單一用途的數(shù)據(jù)庫(kù)(時(shí)間序列),具有許多功能,并且還帶有企業(yè)支持。

Spring也是我選擇的工具之一。 因此,在本博客中,我們將把spring與micrometer和InfluxDB集成在一起。

我們的應(yīng)用程序?qū)⑹怯糜诠ぷ鞯膔est api。 最初,它會(huì)從GitHub的工作API如圖所示取喬布斯在這里 。

讓我們從pom開(kāi)始

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

讓我們?yōu)镚itHub添加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); } }

最后但并非最不重要的主要應(yīng)用程序。

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

在下一個(gè)博客中,我們將與InfluxDB和測(cè)微儀集成。

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

總結(jié)

以上是生活随笔為你收集整理的具有InlfuxDB的Spring Boot和Micrometer第1部分:基础项目的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。