简单实践 java spring cloud

1.概要 

1.1 说明

服务内调用。当然这个调用最终是要用换成远程调用和负载均衡,这里做一个基础。

1.2 步骤

  • 创建一个 spring boot的父工程简单实践 java spring cloud_第1张图片
  • 创建服务提供工程(单纯maven工程)简单实践 java spring cloud_第2张图片
  • 创建服务消费工程 (单纯maven工程,同上)
  • 后续会用spring clound 的远程调用(这里用RestTemplate)

1.3 要点

1.3.1 父工程

  • 父亲工程部需要生成jar包:pom
  •  父工程是springboot

        
            org.springframework.boot
            spring-boot-starter
        
  • 父工程添加了spring alibaba
 
        
            
                com.alibaba.cloud
                spring-cloud-alibaba-dependencies
                 2.2.9.RELEASE
                pom
                import
            
        
    

1.3.2 子工程

  • 添加了mvc

        
            org.springframework.boot
            spring-boot-starter-web
        
    
  •  创建启动类
@SpringBootApplication
public class Main {
    public static void main(String[] args) {
        SpringApplication.run(Main.class);
        System.out.println("Hello world!");
    }
}
  • 创建controllor

 

@RestController
public class TestController {
    @RequestMapping("/fun")
    public String fun(){
        return "函数1";
    }
}
  • 添加远程调用
@Bean
    public RestTemplate restTemplate(RestTemplateBuilder builder ){
        return builder.build();
    }

 

@RestController
public class TestController2 {
    @Autowired
    public RestTemplate restTemplate;
    @RequestMapping("/fun")
    public String fun(){
        //return  "wwww";
        return "函数2+"+restTemplate.getForObject("http://localhost:8011/fun",String.class);
    }
}

1.3 技术关键词

  • spring-boot-starter-test
  • pom
  • spring-cloud-alibaba-dependencies
  • spring-boot-starter-web
  • @SpringBootApplication
  • SpringApplication.run(Main.class);
  • @Bean
    public RestTemplate restTemplate(RestTemplateBuilder builder ){
        return builder.build();
    }
  • @Autowired
    public RestTemplate restTemplate;
  • @RestController
  • @RequestMapping("/fun")

 

2.代码

2.1 父工程

工程文件



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        3.2.2
         
    
    com.xjc.springcloundtest
    demo6
    0.0.1-SNAPSHOT
    pom
    demo6
    demo6
    
        untitled
        untitled1
        untitled2
    
    
        21
    
    
        
            org.springframework.boot
            spring-boot-starter
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    
    
        
            
                com.alibaba.cloud
                spring-cloud-alibaba-dependencies
                 2.2.9.RELEASE
                pom
                import
            
        
    
    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


2.2 工程1提供服务的工程

2.2.1 工程文件



    4.0.0
    
        com.xjc.springcloundtest
        demo6
        0.0.1-SNAPSHOT
    

    untitled1

    
        21
        21
        UTF-8
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        
    

2.2.2 主函数

package com.xjc.springcloundtest;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Main {
    public static void main(String[] args) {
        SpringApplication.run(Main.class);
        System.out.println("Hello world!");
    }
}

2.2.3 服务函数

package com.xjc.springcloundtest;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TestController {
    @RequestMapping("/fun")
    public String fun(){
        return "函数1";
    }
}

2.3 调用服务的工程

2.3.1 配置文件



    4.0.0
    
        com.xjc.springcloundtest
        demo6
        0.0.1-SNAPSHOT
    

    untitled2

    
        21
        21
        UTF-8
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        
    

2.3.2 主函数

package com.xjc.springcloundtest;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

@SpringBootApplication
public class Main {
    public static void main(String[] args) {
        SpringApplication.run(Main.class);
        System.out.println("Hello world!");
    }

    @Bean
    public RestTemplate restTemplate(RestTemplateBuilder builder ){
        return builder.build();
    }
}

 2.3.3 调用服务的控制器

package com.xjc.springcloundtest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

@RestController
public class TestController2 {
    @Autowired
    public RestTemplate restTemplate;
    @RequestMapping("/fun")
    public String fun(){
        //return  "wwww";
        return "函数2+"+restTemplate.getForObject("http://localhost:8011/fun",String.class);
    }
}

3.运行结果

简单实践 java spring cloud_第3张图片

你可能感兴趣的:(spring,boot,spring,cloud,spring,cloud,spring,简单实践)