spring-cloud学习笔记(2)测试注册中心

1.编写服务提供者

1.创建user-server服务模板并配置pom.xml

<dependencies>
<!--        mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

<!--        包含mapper的mybatis-->
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
        </dependency>

<!--        spring-boot web依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

<!--        2.非eureka服务在pom文件中追加依赖eureka-client
            (spring-cloud-starter-netflix-eureka-client)
            ,然后在主程序追加注解@EnableEurekaClient-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
    </dependencies>

2.编写业务测试代码
[1]编写mapper

public interface UserMapper extends Mapper<User> {}

[2]编写pojo实体类

@Data
public class User {

    @Id
    @KeySql(useGeneratedKeys = true)
    private  Long id;

    private String username;

    private String password;
}

[3]编写service

@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;

    public User queryById(Long id){
        return userMapper.selectByPrimaryKey(id);
    }
}

[4]编写web

@RestController
@RequestMapping("user")
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/{id}")
    public User getUserById(@PathVariable("id") Long id){
        return userService.queryById(id);
    }
}

3.编写启动函数

@EnableEurekaClient
@SpringBootApplication
//确定mapper的位置
@MapperScan("top.chenyp.user.mapper")
public class UserApplication {
    public static void main(String[] args) {
        SpringApplication.run(UserApplication.class);
    }
}

这样user-server就可以启动了
在这里插入图片描述

2.编写服务消费者

1.创建consumer-server服务模板并配置pom.xml

<dependencies>
        <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>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
        </dependency>

    </dependencies>

2.编写pojo

复制一份提供者写好的user类

3.编写web获取提供者的数据

@RestController
@RequestMapping("consume")
public class ConsumerController {
//    处理负载均衡
    @Autowired
    private RestTemplate restTemplate;


    @GetMapping("{id}")
    public User queryById(@PathVariable("id") Long id){
        String url="http://user-service/user/"+id;
        return restTemplate.getForObject(url, User.class);
    }
}

4.编写启动类

@EnableEurekaClient
@SpringBootApplication
public class ConsumerApplication {

    @Bean
    @LoadBalanced
    public RestTemplate restTemplate(){
        return  new RestTemplate();
    }

    public static void main(String[] args) {
        SpringApplication.run(ConsumerApplication.class);
    }
}

5.最后编写application.yml配置

server:
  port: 8081
spring:
  application:
    name: consumer-service
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:8761/eureka

6.启动,并测试调用者是否可以调用服务提供者
如图成功了
在这里插入图片描述

3.最后看一下eureka页面效果

这时注册中心就有了服务提供者和服务调用者
在这里插入图片描述

发布了33 篇原创文章 · 获赞 19 · 访问量 3556

猜你喜欢

转载自blog.csdn.net/qq_42794826/article/details/103091595
今日推荐