Eureca Server的Helloworld例子
Eureca Server的Helloworld例子:
马克- to-win:马克 java社区:防盗版实名手机尾号: 73203。
做个普通的maven project,quickstart archetype。改成jdk.8。下面Camden.SR1是版本名,springcloud的版本名称很奇特,它是按照伦敦地铁站的名称命名的。
马克-to-win@马克java社区:maven当中避免重复发明轮子的方法,一种是继承,一种是引用(参考我参考目录下的文章)。maven中配置引用关系的方法是,<type>pom</type>和<scope>import</scope>,很简单,这样就引入一个pom文件,这样<dependencies>里面的<groupId> org.springframework.cloud</groupId>和<artifactId>spring-cloud -starter-eureka-server</artifactId>,由于没有版本信息,就可以参考引入的pom文件的< dependencyManagement>里面的版本信息。就像maven继承方法似的,在父pom的< dependencyManagement>里,放入版本信息,在若干子pom里都省去版本信息了。马克-to-win@马克java社区:子 pom只需到父pom的<dependencyManagement>里,找到相应的artifactId和groupId的版本信息即可。引用和继承原理是类似的。我机器里面的引入文件就在: E:\m2\repository\org\springframework\cloud\spring-cloud-netflix-dependencies \1.3.1.RELEASE里面有个spring-cloud-netflix-dependencies-1.3.1.RELEASE.pom,里面 <dependencyManagement>里面有句话:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
<version>${project.version}</version>
</dependency>
pom.xml:
<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>
<groupId>com</groupId>
<artifactId>EurecaServer3</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>EurecaServer3</name>
<url>http://maven.apache.org</url>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.1.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Camden.SR1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
马克-to-win@马克java社区:说明:下面配置文件中的registerWithEureka: false 这句话的意思是:是否把自己给注册进去,默认为true。这样当为true时,启动服务器eureka时,自然里面就有一个服务了,是自己。 fetchRegistry: false这句话的意思是:不需要从其他的Eureka Server获取数据。如果改为默认的true,则因为我们是一台eureka,启动时会报错,找不到其他eureka server,但还是能照样启动。defaultZone: http://localhost:8761/eureka/,我们可以发现后面的服务提供者和消费者两个项目,都用的是这个缺省地址。
application.yml:
server:
port: 8761
eureka:
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://localhost:8761/eureka/
package com.EurecaServer3;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@EnableEurekaServer
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class,args);
}
}
运行程序: