SPRING INITIALIZR构建工程spring boot 可通过SPRING INITIALIZR构建项目访问SPRING INITIALIZR官网,填写项目相关信息后,生成项目。将下载的项目解压,打开idea,file–>new–>project from existing sources。import project选择maven项目,jdk选择1.8或以上,一直next即可。spring cloud server 提供服务注册1.修改pom.xml<?xml version=“1.0” encoding=“UTF-8”?><project xmlns=“http://maven.apache.org/POM/4.0.0" xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.3.RELEASE</version> <relativePath/> <!– lookup parent from repository –> </parent> <groupId>com.gyt</groupId> <artifactId>helloworld.Eureka.server</artifactId> <version>0.0.1-SNAPSHOT</version> <name>helloworld.Eureka.server</name> <description>Demo project for Spring Boot</description> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <!–eureka server –> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <!– spring boot test–> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Dalston.RC1</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> </plugins> </build> <repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories></project>2.通过SPRING INITIALIZR构建工程后,修改配置文件application.properties,我这里使用的是application.yml,两者只在格式上存在差别。3.启动类application.java添加@EnableEurekaServer注解。@EnableEurekaServer@SpringBootApplicationpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); }}4.访问http://localhost:8000/spring cloud client 提供服务1.同样创建项目后,修改pom.xml<?xml version=“1.0” encoding=“UTF-8”?><project xmlns=“http://maven.apache.org/POM/4.0.0" xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.3.RELEASE</version> <relativePath/> <!– lookup parent from repository –> </parent> <groupId>com.gyt</groupId> <artifactId>helloworld.eureka.client</artifactId> <version>0.0.1-SNAPSHOT</version> <name>helloworld.eureka.client</name> <description>Demo project for Spring Boot</description> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Dalston.RC1</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> </plugins> </build> <repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories></project>2.application.ymleureka: client: serviceUrl: #server对应的地址 defaultZone: http://localhost:8000/eureka/ instance: hostname: localhostserver: port: 8089spring: application: #应用名 name: service-helloworldribbon: eureka: enabled: true其中关于ribbon的学习来自于 https://www.jianshu.com/p/f86...3.ApplicationClient.java@SpringBootApplication@EnableDiscoveryClientpublic class ApplicationClient { public static void main(String[] args) { SpringApplication.run(ApplicationClient.class, args); }}4.HelloController.java@RestControllerpublic class HelloController { @RequestMapping("/hello”) public String index(@RequestParam String name) { return “hello “+name+",hahahaha!”; }}5.访问http://localhost:8089/hello?name=w此时再看服务端,多了service-helloworld这个应用。spring cloud consumer 使用服务1.新建项目,修改pom.xml<?xml version=“1.0” encoding=“UTF-8”?><project xmlns=“http://maven.apache.org/POM/4.0.0" xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.3.RELEASE</version> <relativePath/> <!– lookup parent from repository –> </parent> <groupId>com.gyt</groupId> <artifactId>helloworld.eureka.consumer</artifactId> <version>0.0.1-SNAPSHOT</version> <name>helloworld.eureka.consumer</name> <description>Demo project for Spring Boot</description> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <!–eureka server –> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <!– spring boot test–> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-feign</artifactId> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Dalston.RC1</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> </plugins> </build> <repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories></project>2.application.propertites【这里特意没有用yml】spring.application.name=spring-cloud-consumerserver.port=9001eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/3.ApplicationConsumer.java@SpringBootApplication@EnableDiscoveryClient@EnableFeignClientspublic class ApplicationConsumer { public static void main(String[] args) { SpringApplication.run(ApplicationConsumer.class, args); }}4.创建接口类,HelloTest.java//这里的name指定客户端的应用名@FeignClient(name= “service-helloworld”)public interface HelloTest { //这里requestMapping与客户端相同 @RequestMapping(value = “/hello”) public String hello(@RequestParam(value = “name”) String name);}5.ConsumerController.java@RestControllerpublic class ConsumerController { @Autowired HelloTest helloTest; @RequestMapping("/hello/{name}”) public String index(@PathVariable(“name”) String name) { return helloTest.hello(name); }}6.访问http://localhost:9001/hello/w此时,服务端存在两个应用