From c256938a1cdfa49dbd87ff7dd3678bfcdd4d99a7 Mon Sep 17 00:00:00 2001 From: Jesus Boadas Date: Thu, 19 Jan 2017 14:33:37 -0400 Subject: [PATCH] Building an Application with Spring Boot (#1018) * Initial commit * Initial commit * deleted old files * classNotFoundException-contextLoaderListener * Spring Boot Application * delete ClassNotFoundException --- spring-boot/MyFirstSpringBoot/pom.xml | 39 +++++++++++++++++++ .../src/main/java/com/baeldung/App.java | 13 +++++++ .../baeldung/controller/HomeController.java | 18 +++++++++ .../src/main/resources/public/error/404.html | 8 ++++ .../src/test/java/com/baeldung/AppTest.java | 39 +++++++++++++++++++ 5 files changed, 117 insertions(+) create mode 100644 spring-boot/MyFirstSpringBoot/pom.xml create mode 100644 spring-boot/MyFirstSpringBoot/src/main/java/com/baeldung/App.java create mode 100644 spring-boot/MyFirstSpringBoot/src/main/java/com/baeldung/controller/HomeController.java create mode 100644 spring-boot/MyFirstSpringBoot/src/main/resources/public/error/404.html create mode 100644 spring-boot/MyFirstSpringBoot/src/test/java/com/baeldung/AppTest.java diff --git a/spring-boot/MyFirstSpringBoot/pom.xml b/spring-boot/MyFirstSpringBoot/pom.xml new file mode 100644 index 0000000000..a5cbb37263 --- /dev/null +++ b/spring-boot/MyFirstSpringBoot/pom.xml @@ -0,0 +1,39 @@ + + 4.0.0 + + com.baeldung + MyFirstSpringBoot + 0.0.1-SNAPSHOT + jar + + + org.springframework.boot + spring-boot-starter-parent + 1.4.3.RELEASE + + + MyFirstSpringBoot + http://maven.apache.org + + + UTF-8 + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-test + test + + + junit + junit + test + + + diff --git a/spring-boot/MyFirstSpringBoot/src/main/java/com/baeldung/App.java b/spring-boot/MyFirstSpringBoot/src/main/java/com/baeldung/App.java new file mode 100644 index 0000000000..d7cc90fcb9 --- /dev/null +++ b/spring-boot/MyFirstSpringBoot/src/main/java/com/baeldung/App.java @@ -0,0 +1,13 @@ +package com.baeldung; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class App +{ + public static void main( String[] args ) + { + SpringApplication.run(App.class, args); + } +} diff --git a/spring-boot/MyFirstSpringBoot/src/main/java/com/baeldung/controller/HomeController.java b/spring-boot/MyFirstSpringBoot/src/main/java/com/baeldung/controller/HomeController.java new file mode 100644 index 0000000000..757e0a06b1 --- /dev/null +++ b/spring-boot/MyFirstSpringBoot/src/main/java/com/baeldung/controller/HomeController.java @@ -0,0 +1,18 @@ +package com.baeldung.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class HomeController { + + @RequestMapping("/") + public String root(){ + return "Index Page"; + } + + @RequestMapping("/local") + public String local(){ + return "/local"; + } +} diff --git a/spring-boot/MyFirstSpringBoot/src/main/resources/public/error/404.html b/spring-boot/MyFirstSpringBoot/src/main/resources/public/error/404.html new file mode 100644 index 0000000000..02d6092bee --- /dev/null +++ b/spring-boot/MyFirstSpringBoot/src/main/resources/public/error/404.html @@ -0,0 +1,8 @@ + + + RESOURCE NOT FOUND + + +

404 RESOURCE NOT FOUND

+ + \ No newline at end of file diff --git a/spring-boot/MyFirstSpringBoot/src/test/java/com/baeldung/AppTest.java b/spring-boot/MyFirstSpringBoot/src/test/java/com/baeldung/AppTest.java new file mode 100644 index 0000000000..8450740863 --- /dev/null +++ b/spring-boot/MyFirstSpringBoot/src/test/java/com/baeldung/AppTest.java @@ -0,0 +1,39 @@ +package com.baeldung; + +import static org.hamcrest.Matchers.equalTo; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; + +@RunWith(SpringRunner.class) +@SpringBootTest +@AutoConfigureMockMvc +public class AppTest { + + @Autowired + private MockMvc mvc; + + @Test + public void getIndex() throws Exception { + mvc.perform(MockMvcRequestBuilders.get("/").accept(MediaType.APPLICATION_JSON)) + .andExpect(status().isOk()) + .andExpect(content().string(equalTo("Index Page"))); + } + + @Test + public void getLocal() throws Exception { + mvc.perform(MockMvcRequestBuilders.get("/local").accept(MediaType.APPLICATION_JSON)) + .andExpect(status().isOk()) + .andExpect(content().string(equalTo("/local"))); + } + +} \ No newline at end of file