diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-server/src/main/resources/application.properties b/spring-cloud/spring-cloud-rest/application-config/discovery.properties
similarity index 88%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-server/src/main/resources/application.properties
rename to spring-cloud/spring-cloud-rest/application-config/discovery.properties
index 3fd35c1f19..7775cac83a 100644
--- a/spring-cloud/spring-cloud-rest/spring-cloud-rest-server/src/main/resources/application.properties
+++ b/spring-cloud/spring-cloud-rest/application-config/discovery.properties
@@ -1,5 +1,7 @@
-#### cloud
+spring.application.name=discovery
server.port=8761
+
+#### cloud
eureka.client.registerWithEureka=false
eureka.client.fetchRegistry=false
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-client-1/src/main/resources/application.properties b/spring-cloud/spring-cloud-rest/application-config/resource.properties
similarity index 91%
rename from spring-cloud/spring-cloud-rest/spring-cloud-rest-client-1/src/main/resources/application.properties
rename to spring-cloud/spring-cloud-rest/application-config/resource.properties
index 65fcb7b71e..8add49ab7e 100644
--- a/spring-cloud/spring-cloud-rest/spring-cloud-rest-client-1/src/main/resources/application.properties
+++ b/spring-cloud/spring-cloud-rest/application-config/resource.properties
@@ -1,6 +1,7 @@
-#### cloud
-spring.application.name=spring-cloud-eureka-client
+spring.application.name=resource
server.port=0
+
+#### cloud
eureka.client.serviceUrl.defaultZone=${EUREKA_URI:http://system:systemPass@localhost:8761/eureka}
eureka.instance.preferIpAddress=true
diff --git a/spring-cloud/spring-cloud-rest/pom.xml b/spring-cloud/spring-cloud-rest/pom.xml
index 3424d988a9..376ce96b95 100644
--- a/spring-cloud/spring-cloud-rest/pom.xml
+++ b/spring-cloud/spring-cloud-rest/pom.xml
@@ -7,6 +7,7 @@
spring-cloud-rest
1.0.0-SNAPSHOT
+ spring-cloud-rest-config
spring-cloud-rest-server
spring-cloud-rest-client-1
spring-cloud-rest-client-2
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-client-1/pom.xml b/spring-cloud/spring-cloud-rest/spring-cloud-rest-client-1/pom.xml
index f50ae7e8f2..ac878d1652 100644
--- a/spring-cloud/spring-cloud-rest/spring-cloud-rest-client-1/pom.xml
+++ b/spring-cloud/spring-cloud-rest/spring-cloud-rest-client-1/pom.xml
@@ -8,8 +8,8 @@
0.0.1-SNAPSHOT
jar
- spring-cloud-rest
- Demo project for Spring Boot
+ spring-cloud-rest-client-1
+ Client Service for books
org.springframework.boot
@@ -26,6 +26,10 @@
+
+ org.springframework.cloud
+ spring-cloud-starter-config
+
org.springframework.cloud
spring-cloud-starter-eureka
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-client-1/src/main/resources/bootstrap.properties b/spring-cloud/spring-cloud-rest/spring-cloud-rest-client-1/src/main/resources/bootstrap.properties
new file mode 100644
index 0000000000..f34f1b65ac
--- /dev/null
+++ b/spring-cloud/spring-cloud-rest/spring-cloud-rest-client-1/src/main/resources/bootstrap.properties
@@ -0,0 +1,3 @@
+spring.cloud.config.name=resource
+spring.cloud.config.discovery.service-id=config
+spring.cloud.config.discovery.enabled=true
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-client-2/pom.xml b/spring-cloud/spring-cloud-rest/spring-cloud-rest-client-2/pom.xml
index 359045829b..6645e1382c 100644
--- a/spring-cloud/spring-cloud-rest/spring-cloud-rest-client-2/pom.xml
+++ b/spring-cloud/spring-cloud-rest/spring-cloud-rest-client-2/pom.xml
@@ -8,8 +8,8 @@
0.0.1-SNAPSHOT
jar
- spring-cloud-rest
- Demo project for Spring Boot
+ spring-cloud-rest-client-2
+ Client Service for book reviews
org.springframework.boot
@@ -26,6 +26,10 @@
+
+ org.springframework.cloud
+ spring-cloud-starter-config
+
org.springframework.cloud
spring-cloud-starter-eureka
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-client-2/src/main/resources/application.properties b/spring-cloud/spring-cloud-rest/spring-cloud-rest-client-2/src/main/resources/application.properties
index 65fcb7b71e..f443e86fd8 100644
--- a/spring-cloud/spring-cloud-rest/spring-cloud-rest-client-2/src/main/resources/application.properties
+++ b/spring-cloud/spring-cloud-rest/spring-cloud-rest-client-2/src/main/resources/application.properties
@@ -1,7 +1,7 @@
#### cloud
spring.application.name=spring-cloud-eureka-client
server.port=0
-eureka.client.serviceUrl.defaultZone=${EUREKA_URI:http://system:systemPass@localhost:8761/eureka}
+eureka.client.serviceUrl.defaultZone=http://system:systemPass@localhost:8761/eureka
eureka.instance.preferIpAddress=true
#### persistence
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-config/.gitignore b/spring-cloud/spring-cloud-rest/spring-cloud-rest-config/.gitignore
new file mode 100644
index 0000000000..2af7cefb0a
--- /dev/null
+++ b/spring-cloud/spring-cloud-rest/spring-cloud-rest-config/.gitignore
@@ -0,0 +1,24 @@
+target/
+!.mvn/wrapper/maven-wrapper.jar
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+nbproject/private/
+build/
+nbbuild/
+dist/
+nbdist/
+.nb-gradle/
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-config/pom.xml b/spring-cloud/spring-cloud-rest/spring-cloud-rest-config/pom.xml
new file mode 100644
index 0000000000..20b5eaf908
--- /dev/null
+++ b/spring-cloud/spring-cloud-rest/spring-cloud-rest-config/pom.xml
@@ -0,0 +1,77 @@
+
+
+ 4.0.0
+
+ org.baeldung
+ spring-cloud-rest-config
+ 0.0.1-SNAPSHOT
+ jar
+
+ spring-cloud-rest-config
+ Spring Cloud REST configuration server
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 1.4.3.RELEASE
+
+
+
+
+ UTF-8
+ UTF-8
+ 1.8
+ Camden.SR4
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-config-server
+
+
+ org.springframework.cloud
+ spring-cloud-starter-eureka
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-dependencies
+ ${spring-cloud.version}
+ pom
+ import
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ **/*IntegrationTest.java
+ **/*LiveTest.java
+
+
+
+
+
+
+
+
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-config/src/main/java/org/baeldung/SpringCloudRestConfigApplication.java b/spring-cloud/spring-cloud-rest/spring-cloud-rest-config/src/main/java/org/baeldung/SpringCloudRestConfigApplication.java
new file mode 100644
index 0000000000..90c6fe3ec9
--- /dev/null
+++ b/spring-cloud/spring-cloud-rest/spring-cloud-rest-config/src/main/java/org/baeldung/SpringCloudRestConfigApplication.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.config.server.EnableConfigServer;
+import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
+
+@SpringBootApplication
+@EnableConfigServer
+@EnableEurekaClient
+public class SpringCloudRestConfigApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(SpringCloudRestConfigApplication.class, args);
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-config/src/main/resources/bootstrap.properties b/spring-cloud/spring-cloud-rest/spring-cloud-rest-config/src/main/resources/bootstrap.properties
new file mode 100644
index 0000000000..f34f1b65ac
--- /dev/null
+++ b/spring-cloud/spring-cloud-rest/spring-cloud-rest-config/src/main/resources/bootstrap.properties
@@ -0,0 +1,3 @@
+spring.cloud.config.name=resource
+spring.cloud.config.discovery.service-id=config
+spring.cloud.config.discovery.enabled=true
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-config/src/test/java/org/baeldung/SpringCloudRestConfigApplicationTests.java b/spring-cloud/spring-cloud-rest/spring-cloud-rest-config/src/test/java/org/baeldung/SpringCloudRestConfigApplicationTests.java
new file mode 100644
index 0000000000..072a3e6ffc
--- /dev/null
+++ b/spring-cloud/spring-cloud-rest/spring-cloud-rest-config/src/test/java/org/baeldung/SpringCloudRestConfigApplicationTests.java
@@ -0,0 +1,15 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class SpringCloudRestConfigApplicationTests {
+ @Test
+ public void contextLoads() {
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-server/.mvn/wrapper/maven-wrapper.properties b/spring-cloud/spring-cloud-rest/spring-cloud-rest-server/.mvn/wrapper/maven-wrapper.properties
deleted file mode 100644
index c954cec91c..0000000000
--- a/spring-cloud/spring-cloud-rest/spring-cloud-rest-server/.mvn/wrapper/maven-wrapper.properties
+++ /dev/null
@@ -1 +0,0 @@
-distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.zip
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-server/pom.xml b/spring-cloud/spring-cloud-rest/spring-cloud-rest-server/pom.xml
index be67799fee..98325e8ae9 100644
--- a/spring-cloud/spring-cloud-rest/spring-cloud-rest-server/pom.xml
+++ b/spring-cloud/spring-cloud-rest/spring-cloud-rest-server/pom.xml
@@ -26,6 +26,10 @@
+
+ org.springframework.cloud
+ spring-cloud-starter-config
+
org.springframework.cloud
spring-cloud-starter-eureka-server
diff --git a/spring-cloud/spring-cloud-rest/spring-cloud-rest-server/src/main/resources/bootstrap.properties b/spring-cloud/spring-cloud-rest/spring-cloud-rest-server/src/main/resources/bootstrap.properties
new file mode 100644
index 0000000000..ca9d59c9ed
--- /dev/null
+++ b/spring-cloud/spring-cloud-rest/spring-cloud-rest-server/src/main/resources/bootstrap.properties
@@ -0,0 +1,2 @@
+spring.cloud.config.name=discovery
+spring.cloud.config.uri=http://localhost:8081
\ No newline at end of file