當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
micrometer_具有InlfuxDB的Spring Boot和Micrometer第1部分:基础项目
生活随笔
收集整理的這篇文章主要介紹了
micrometer_具有InlfuxDB的Spring Boot和Micrometer第1部分:基础项目
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
micrometer
對于那些關注此博客的人來說,難怪我會經常使用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
micrometer
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的micrometer_具有InlfuxDB的Spring Boot和Micrometer第1部分:基础项目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java第三阶段源代码_有效Java第三
- 下一篇: gradle idea java ssm