SpringCloud2开发-电影服务

SpringCloud2开发-电影服务

这篇文章介绍了SpringCloud2开发-电影服务,分享给大家做个参考,收藏极客大全收获更多编程知识

SpringCloud-Hello案例开发-电影服务

4.1 电影服务

(jar工程,提供查询电影功能)cloud-provider-movie

1

改一下:

1.两个pom有很多没用的东西,首先我们不打jar包所以两个build删掉

2.两个properties一样,给他复制到父工程pom文件里

3.还有dependencyManagement

移过去之后,两个子工程对应的就可以删了,只留正儿八经要依赖的jar包就行了

注意

完成之后Hello里面打包方式就不能是jar了,要改成pom

这是Hello的pom的变化1——》

image-20220802174507853

image-20220802174757568

接着把Hello的jav粘到子工程里,movie改变前

image-20220802174838049

movie的pom改动后

image-20220802175358598

接着改动server的pom

image-20220802180351305

改完之后 Hello的pom就可以统一管理两个工程的版本了

接下来为了后边的熔断器,改动一下版本(因为版本太高,图标可能加载不出来)

上图是改之前

image-20220802183321727

看看为什么movie要导入web

image-20220802183613849

因为eureka.server自带web,movie是注册中心的客户端,不带web需要自己导

 

4.1.1 引入eureka-Discovery、web模块

 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
 </dependency>
 <dependency>
 <groupId>org.springframework.cloud</groupId>
 <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
 </dependency>

创建工程已经引入过了

 

4.1.2 创建Movie实体类,增加id,movieName属性

不能建到movie里,太笨了因为牵扯远程调用,后边user也要用,所以新建个maven

这个maven要不要父工程都不影响

image-20220802184439537

接下来java下写类

image-20220802184911162

image-20220802185545730

image-20220802185011152

 

4.1.3 创建MovieDao

因为没连数据库,所以硬写就拉倒了哈

image-20220802190124364

dao

 package com.wsk.movie.dao;
 
 import com.wsk.bean.Movie;
 import org.springframework.stereotype.Repository;
 
 @Repository
 public class MovieDao {
     public Movie getNewMovie() {
         Movie movie = new Movie();
         movie.setId(1);
         movie.setMovieName("战狼");
         return movie;
     }
 }

service

 package com.wsk.movie.service;
 
 import com.wsk.bean.Movie;
 import com.wsk.movie.dao.MovieDao;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 @Service
 public class MovieService {
     @Autowired
     MovieDao movieDao;
 
     public Movie getNewMovie() {
         return movieDao.getNewMovie();
     }
 }

controller

 package com.wsk.movie.controller;
 
 import com.wsk.bean.Movie;
 import com.wsk.movie.service.MovieService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 @RestController
 public class MovieController {
 
     @Autowired
     MovieService movieService;
     /**
      * 获取最新电影
      */
     @GetMapping("/movie")
     public Movie getNewMovie() {
         return movieService.getNewMovie();
     }
 
 }

然后image-20220802190307086

4.1.4 编写application.yml

 spring:
   application:
     name: cloud-provider-movie
     
 server:
   port: 8000  
   
 # 指定注册到哪个注册中心
 eureka:
   client:
     service-url:
       defaultZone: http://localhost:8761/eureka/
   instance:
     prefer-ip-address: true #注册自己服务使用ip的方式

image-20220802190651859

测试的话要加入注解movie入口处,加不加都行,默认开启

image-20220802190918801

启动顺序,先有注册中心再启动服务

image-20220802191146632

让导入测试包的话,删了会自动导入 ,俩工程测试都重新导一下因为改版本了

4.1 电影服务接着

image-20220802191854287

多增加几个movie Zone不用改,方便看结果

image-20220802192143538

接着

image-20220802192339613

刷新浏览器

image-20220802192508375

 

只不过有红字很恶心是吧?

红字其实就是eureka的自我保护机制,一会儿写

 

4.1 现在看看movie服务好使不好使

image-20220802192955398



原文链接:https://www.cnblogs.com/wangshikang/p/16544950.html

    

站长公告

极客大全专注硬核技术知识分享,助您享受知识的乐趣

热门标签