diff --git a/spring-tutorial/pom.xml b/spring-tutorial/pom.xml
new file mode 100644
index 0000000..18a46d0
--- /dev/null
+++ b/spring-tutorial/pom.xml
@@ -0,0 +1,47 @@
+<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.supwisdom.tutorial</groupId>
+  <artifactId>spring-tutorial</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <packaging>jar</packaging>
+
+  <name>spring-tutorial</name>
+  <url>http://maven.apache.org</url>
+
+  <parent>
+    <groupId>org.springframework.boot</groupId>
+    <artifactId>spring-boot-starter-parent</artifactId>
+    <version>1.0.2.RELEASE</version>
+  </parent>
+
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <downloadJavadocs>true</downloadJavadocs>
+    <downloadSources>true</downloadSources>
+  </properties>
+
+
+  <dependencies>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-web</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </build>
+</project>
diff --git a/spring-tutorial/src/main/java/com/supwisdom/tutorial/App.java b/spring-tutorial/src/main/java/com/supwisdom/tutorial/App.java
new file mode 100644
index 0000000..d3bac10
--- /dev/null
+++ b/spring-tutorial/src/main/java/com/supwisdom/tutorial/App.java
@@ -0,0 +1,22 @@
+package com.supwisdom.tutorial;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * Hello world!
+ */
+@RestController
+@EnableAutoConfiguration
+public class App {
+  @RequestMapping("/")
+  String home() {
+    return "Hello World!";
+  }
+
+  public static void main(String[] args) throws Exception {
+    SpringApplication.run(App.class, args);
+  }
+}
diff --git a/spring-tutorial/src/test/java/com/supwisdom/tutorial/AppTest.java b/spring-tutorial/src/test/java/com/supwisdom/tutorial/AppTest.java
new file mode 100644
index 0000000..3fc2500
--- /dev/null
+++ b/spring-tutorial/src/test/java/com/supwisdom/tutorial/AppTest.java
@@ -0,0 +1,38 @@
+package com.supwisdom.tutorial;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest 
+    extends TestCase
+{
+    /**
+     * Create the test case
+     *
+     * @param testName name of the test case
+     */
+    public AppTest( String testName )
+    {
+        super( testName );
+    }
+
+    /**
+     * @return the suite of tests being tested
+     */
+    public static Test suite()
+    {
+        return new TestSuite( AppTest.class );
+    }
+
+    /**
+     * Rigourous Test :-)
+     */
+    public void testApp()
+    {
+        assertTrue( true );
+    }
+}
