SpringCloud Finchley+Spring Boot 2.0 통합 컨설팅 방법 예제(1.2 버 전)
Spring Boot 2.0 은 이전 버 전에 비해 변화 가 크다.먼저 jdk 버 전에 대한 요 구 는 1.8 보다 낮 을 수 없 으 며,그 다음으로 의존 하 는 spring 버 전도 최신 버 전 5.0 이 며,기능 이 강 한 webflux 등 을 통합 했다.
SpringCloud Finchley 버 전의 업그레이드 도 새로운 구성 요 소 를 가 져 왔 다.Spring Cloud Function 과 Spring Cloud Gateway 는 전 자 는 함수 식 프로 그래 밍 모듈 의 통합 에 주력 하고 후 자 는 게 이 트 웨 이 넷 플 릭 스 zuul 의 교체 구성 요소 이다.
1)필요 한 의존:
<?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>
<groupId>com.iyb</groupId>
<artifactId>saturn</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>sc-saturn</name>
<description>sc-saturn for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<mapper.version>3.4.0</mapper.version>
<pagehelper.version>4.1.6</pagehelper.version>
<fastjson.version>1.2.13</fastjson.version>
<jackson.version>2.8.5</jackson.version>
<druid.version>1.0.27</druid.version>
<mysql.version>5.1.40</mysql.version>
<commons-fileupload.version>1.3.1</commons-fileupload.version>
</properties>
<dependencies>
<!--starter begin-->
<!--spring cloud starter-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<!--tomcat starter-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>compile</scope>
</dependency>
<!--actuator starter-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--spring boot starter-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!--spring starter-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--fastjon-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-gson</artifactId>
<version>9.3.1</version>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
<dependency>
<groupId>com.netflix.feign</groupId>
<artifactId>feign-gson</artifactId>
<version>8.15.1</version>
</dependency>
</dependencies>
// Spring Cloud Finchley.RELEASE
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
주의해 야 할 점:부분 의존 이 바 뀌 었 습 니 다.
구 판본
Finchley 버 전
spring-cloud-starter-eureka-client
spring-cloud-starter-netflix-eureka-client
spring-cloud-starter-eureka-server
spring-cloud-starter-netflix-eureka-server
spring-cloud-starter-hystrix
spring-cloud-starter-netflix-hystrix
spring-cloud-starter-hystrix-dashboard
spring-cloud-starter-netflix-hystrix-dashboard
spring-cloud-starter-ribbon
spring-cloud-starter-netflix-ribbon
spring-cloud-starter-turbine
spring-cloud-starter-netflix-turbine
spring-cloud-starter-zuul
spring-cloud-starter-netflix-zuul
spring-cloud-starter-feign
spring-cloud-starter-openfeign
새 버 전의 SpringCloud 위의 의존 도 는 모두 변화 가 생 겼 습 니 다.의존 도 는 모두 넷 플 릭 스 를 도 입 했 습 니 다.아마도 성명 을 위 한 것 일 것 입 니 다.(구성 요소 의 실현 바 텀 은 spring 이 아 닙 니 다)
log4j 의존:
spring cloud 이전 버 전에 서 로 그 는 lombok 만 도입 하면 되 지만 Finchley 버 전 은 따로 참조 해 야 합 니 다.
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
2)통합 consul 프로필:
spring:
application:
name: sc-saturn
profiles:
active: dev
cloud:
config:
# uri: http://localhost:9999
discovery:
enabled: false
serviceId: sc-earth-config-server
label: master
profile: pre
consul:
host: http://localhost:8500
port: 80
discovery:
prefer-ip-address: true
# endPoint, /health, , http 200
health-check-path: /ok/health
heartbeat:
enabled: false
3)시작 클래스:
@SpringBootApplication
@EnableFeignClients
@EnableZuulServer
@ComponentScan(basePackages={"com.iyb.ak"})
@EnableDiscoveryClient
@Slf4j
public class SaturnApplication implements CommandLineRunner{
public static void main(String[] args) {
SpringApplication.run(SaturnApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
log.info(">>>>>>>>>>>>>>> sc-saturn <<<<<<<<<<<<<");
}
}
4)예시:등록 센터:
sc-saturn 이 consul 에 성공 적 으로 등록 한 것 을 볼 수 있 습 니 다.또한 위의 consul ui 인터페이스 에 변화 가 생 겼 습 니 다.이것 은 1.2 버 전의 최적화 입 니 다.예전 의 ui 인터페이스 에 비해 많이 예 뻐 졌 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.