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

浙公网安备 33010602011771号