Eureca Server的Helloworld例子

Eureca Server的Helloworld例子:
馬克- to-win:馬克 java社區(qū):防盜版實(shí)名手機(jī)尾號(hào): 73203。



做個(gè)普通的maven project,quickstart archetype。改成jdk.8。下面Camden.SR1是版本名,springcloud的版本名稱很奇特,它是按照倫敦地鐵站的名稱命名的。

馬克-to-win@馬克java社區(qū):maven當(dāng)中避免重復(fù)發(fā)明輪子的方法,一種是繼承,一種是引用(參考我參考目錄下的文章)。maven中配置引用關(guān)系的方法是,<type>pom</type>和<scope>import</scope>,很簡單,這樣就引入一個(gè)pom文件,這樣<dependencies>里面的<groupId> org.springframework.cloud</groupId>和<artifactId>spring-cloud -starter-eureka-server</artifactId>,由于沒有版本信息,就可以參考引入的pom文件的< dependencyManagement>里面的版本信息。就像maven繼承方法似的,在父pom的< dependencyManagement>里,放入版本信息,在若干子pom里都省去版本信息了。馬克-to-win@馬克java社區(qū):子 pom只需到父pom的<dependencyManagement>里,找到相應(yīng)的artifactId和groupId的版本信息即可。引用和繼承原理是類似的。我機(jī)器里面的引入文件就在: E:\m2\repository\org\springframework\cloud\spring-cloud-netflix-dependencies \1.3.1.RELEASE里面有個(gè)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社區(qū):說明:下面配置文件中的registerWithEureka: false  這句話的意思是:是否把自己給注冊(cè)進(jìn)去,默認(rèn)為true。這樣當(dāng)為true時(shí),啟動(dòng)服務(wù)器eureka時(shí),自然里面就有一個(gè)服務(wù)了,是自己。 fetchRegistry: false這句話的意思是:不需要從其他的Eureka Server獲取數(shù)據(jù)。如果改為默認(rèn)的true,則因?yàn)槲覀兪且慌_(tái)eureka,啟動(dòng)時(shí)會(huì)報(bào)錯(cuò),找不到其他eureka server,但還是能照樣啟動(dòng)。defaultZone: http://localhost:8761/eureka/,我們可以發(fā)現(xiàn)后面的服務(wù)提供者和消費(fèi)者兩個(gè)項(xiàng)目,都用的是這個(gè)缺省地址。


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);
    }
}
運(yùn)行程序: