001 项目的基础配置

一 .概述

在本次的springcloud之中,我们使用Maven来管理我们的整个内容,为了方便后面的演示,本次将基本的内容搭建起来.

在springcloud之中,版本是一个比较重要的话题,

上面是官网给出的适配模式,我们本次使用1.5x版本的springboot和E版本的springcloud.

二 .搭建父项目

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.RELEASE</version>
        <relativePath />
    </parent>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Edgware.SR5</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <target>1.8</target>
                    <source>1.8</source>
                </configuration>
            </plugin>
        </plugins>
    </build>

三 .搭建公共模块

在后面我们常常需要使用的一些公共模块,本次我们直接将这一部分的内容抽成一个公共的模块.

  <parent>
    <groupId>com.trek.springcloud</groupId>
    <artifactId>springcloud-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>springcloud-common</artifactId>

其中common模块是依赖于父项目的.

四 .搭建微服务提供者

[1]创建springcloud-producer子模块,追加maven的配置.

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

[2]编写一个controller

@RestController
public class UserService {

    @Value("${server.port}")
    private String location;
    
    @GetMapping("/user/{id}")
    public User findUserById(@PathVariable("id") int id) {
        return new User(id,"trke",location);
    }
}

[3]编写配置文件

server:
  port: 8000

五 .搭建微服务的消费者

[1]引入依赖

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.trek.springcloud</groupId>
            <artifactId>springcloud-common</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

[2]添加启动类

@SpringBootApplication
public class ConsumerStarter {
    
    public static void main(String[] args) {
        SpringApplication.run(ConsumerStarter.class, args);
    }
    
    @Bean
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
}

为了访问微服务,我们增加一个RestTemplate的模板对象.

[3]访问微服务

@RestController
public class UserController {
    
    @Resource
    private RestTemplate restTemplate;
    
    @GetMapping("user/{id}")
    public User queryUser(@PathVariable("id") int id) {
        return restTemplate.getForObject("http://127.0.0.1:8000/user/"+id, User.class);
    }
}

[4]配置文件

server:
  port: 9000
原文地址:https://www.cnblogs.com/trekxu/p/10462812.html