从b站学习springcloud项目,现在进行总结,该总结除去了视频中出现的小错误,对有些易错的地方进行了提醒
b站链接:https://www.bilibili.com/video/av55629580?p=1
资料链接:
https://pan.baidu.com/s/1o0Aju3IydKA15Vo1pP4z5w
提取码: 21ru
源码:
下一节链接:
https://blog.csdn.net/qq_40893824/article/details/103545683
下面的内容总结:
父pom→eurekaserver的pom→application.yml→启动类
→configserver的pom→application.yml→shared/order-dev.yml→启动类
→module命名order→pom文件→bootstrap.yml→OrderHandler.java→启动类
实现细节:
1.新建项目,命名为aispringdemo2
在父工程的pom文件中加入依赖,代码如下
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.7.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
2.创建注册中心
2.1新建注册中心module,命名为eurekaserver
2.2在其pom文件加入依赖代码:
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
<version>2.0.2.RELEASE</version>
</dependency>
</dependencies>
2.3在main/resources中新建application.yml文件,代码如下:
server:
port: 8761
eureka:
client:
register-with-eureka: false
fetch-registry: false
service-url:
dedaultZone: http://localhost:8761/eureka/
2.4在main/java中新建包com.southwind
2.5在southwind中新建启动类:EurekaServerApplication.java代码如下:
package com.southwind;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class,args);
}
}
2.6开启启动类,进入http://localhost:8761
说明注册中心创建成功!
3.创建本地配置中心
3.1创建module,命名为configserver
3.2在其pom文件中加入代码:
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
<version>2.0.2.RELEASE</version>
</dependency>
</dependencies>
3.3在main/resources中创建application.yml文件,代码如下:
server:
port: 8762
spring:
application:
name: configserver
profiles:
active: native
cloud:
config:
server:
native:
search-locations: classpath:/shared
3.4在resources中创建包shared,再在shared中创建order-dev.yml,代码如下:
server:
port: 8010
3.5在main/java下创建包com.southwind,再在里面创建启动类ConfigServerApplication.java
代码如下:
package com.southwind;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;
@SpringBootApplication
@EnableConfigServer
public class ConfigServerApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigServerApplication.class,args);
}
}
4.创建服务提供者
4.1新建module,命名为order
4.2在其pom文件中加入代码:
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.0.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
<version>2.0.2.RELEASE</version>
</dependency>
</dependencies>
4.3在resources中新建bootstrap.yml,加入代码:
spring:
application:
name: order
profiles:
active: dev
cloud:
config:
uri: http://localhost:8762
fail-fast: true
4.4在main/java中新建包com.southwind.controller
4.5在controller中新建OrderHandler.java,加入代码:
package com.southwind.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/order")
public class OrderHandler {
@Value("${server.port}")
private String port;
@GetMapping("/index")
public String index(){
return "order的端口是:"+ this.port;
}
}
4.6创建启动类OrderApplication.java,加入代码:
package com.southwind;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class OrderApplication {
public static void main(String[] args) {
SpringApplication.run(OrderApplication.class,args);
}
}
5.启动 configserver 和 order,进入http://localhost:8761查看:
再进入 http://localhost:8010/order/index
功能调通成功!
可以看到orde的端口是8010,在其bootstrap.yml中我们并没有将端口去设为8010,这是因为他会去本地配置文件中通过resources路径找到order-dev.yml中的端口,其里面就是8010的端口。
下一节链接:
https://blog.csdn.net/qq_40893824/article/details/103545683