스프링부트 프로젝트 생성하기입니다.
File -> New -> Spring Starter Project 클릭해서 스프링부트 프로젝트를 생성시켜줍니다.
Name : 프로젝트명을 입력해줍니다.
Type : Gradle로 구성할 것이기 때문에 Gradle (STS) 선택
Packaging : War로 배포할것이기 때문에 War로 선택
Group, Artifact, Version, Description, Package는 자유롭게 입력해줍니다.
위에 설정대로 한 후 Next 클릭
필요한 Dependencies를 미리 추가하여 생성할 수 있습니다.
저는 직접 입력을해서 추가 할 것이기 때문에 아무것도 추가 안한 후 Next 클릭
Finish 클릭하시면 로딩 후 프로젝트가 생성이 됩니다.
초기 프로젝트 구조입니다. 저렇게 생성되었다면 제대로 생성한게 맞습니다.
제일 먼저 해야할 것은 저는 아까 디펜던시를 직접 입력하기로하여서
build.gradle에서 디펜던시를 추가할 것이기 때문에 build.gradle를 열어줍니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | buildscript { ext { springBootVersion = '1.5.4.RELEASE' } repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } apply plugin: 'java' apply plugin: 'eclipse-wtp' apply plugin: 'org.springframework.boot' apply plugin: 'war' version = '0.0.1-SNAPSHOT' sourceCompatibility = 1.8 repositories { mavenCentral() } configurations { providedRuntime } dependencies { compile('org.springframework.boot:spring-boot-starter-web') providedRuntime('org.springframework.boot:spring-boot-starter-tomcat') testCompile('org.springframework.boot:spring-boot-starter-test') } | cs |
여기서 29번째라인에서 dependencies를 추가해줍니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | buildscript { ext { springBootVersion = '1.5.4.RELEASE' } repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } apply plugin: 'java' apply plugin: 'eclipse-wtp' apply plugin: 'org.springframework.boot' apply plugin: 'war' version = '0.0.1-SNAPSHOT' sourceCompatibility = 1.8 repositories { mavenCentral() } configurations { providedRuntime } dependencies { compile('org.springframework.boot:spring-boot-starter-web') providedRuntime('org.springframework.boot:spring-boot-starter-tomcat') testCompile('org.springframework.boot:spring-boot-starter-test') compile('org.apache.tomcat.embed:tomcat-embed-jasper') compile('javax.servlet:jstl') } | cs |
5번째라인에 maven { url "http://repo.spring.io/libs-release/"} 이것을 넣은 이유는
33 ~ 36라인이 추가되었습니다.
35 ~ 36번 라인은 jsp페이지 안에서 jstl을 쓰기위해서 추가하였습니다.
추가하고 일단 저장해줍니다.
이제 프로젝트 마우스 우클릭 -> Gradle (STS) -> Disable Dependency Management 순으로 클릭을 해줍니다.
그러면 Refresh Dependencies가 활성화가 됩니다.
활성화 된 Refresh Dependencies를 클릭하고 Dependency를 다운 받아질 때 동안 기다립니다.
다운이 완료가 되고 다운받아진 것들이 어디에 있나 확인하려면
프로젝트에 Gradle Dependencies에 보시면 방금 넣었던 것들이 jar파일로 들어와있는걸 볼 수 있습니다.
다음으로 jsp 페이지가 들어갈 폴더를 만들어줄껍니다.
위에 사진에서 보시는 것 처럼 폴더를 차례대로 생성해주세요
src -> main -> webapp(생성) -> resources(생성)
-> WEB-INF(생성) -> views(생성)
이렇게 생성해 준 뒤 이제 저 폴더가 jsp파일이 된다는 걸 인식시켜주기 위한 작업을 해야합니다.
application.properties 파일을 주목해주세요.
이 파일에 이제 전에 했던 MVC 프로젝트에서 bean추가하고 이런 기초 설정들을 여기서 한방에 처리할 수 있습니다.
저도 더 알아봐야겠지만 여기서 간단하게 추가가 가능하더라구요 build.gradle도 pom.xml보다 훨씬 간단해졌구요
1 2 3 | spring.mvc.view.prefix=/WEB-INF/views/ spring.mvc.view.suffix=.jsp server.jsp-servlet.init-parameters.development=true | cs |
이렇게 입력해줍니다.
spring.mvc.view.prefix=/WEB-INF/views/ 은 jsp파일이 /WEB-INF/views안에 있다라는 뜻입니다.
spring.mvc.view.suffix=.jsp 은 .jsp파일들을 suffix해라고 지칭해주는것입니다.
server.jsp-servlet.init-parameters.development=true 이걸 안해주니 jsp파일이 변경되어도 jsp파일이 변경된 후의 변화가 없더라구요
말그대로 development를 true해서 개발환경에 맞추어주는 것 같습니다. 무조건 추가해줍니다 !
이제 jsp파일을 생성합니다.
저는 index.jsp라고 생성했습니다.
1 2 3 4 5 6 7 8 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <body> Hello World !! </body> </html> | cs |
간단하게 Hello World !! 만 썼습니다.
드디어 마지막 단계인 controller작성만 남았네요.
src/main/java 폴더 아래 com.test.SpringBootTest.controller라고 패키지를 생성해줍니다.
간단하게 HomeController라고 생성 !
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | package com.test.SpringBootTest.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; @RestController public class HomeController { @RequestMapping("/") public ModelAndView index(){ ModelAndView mv = new ModelAndView(); mv.setViewName("index"); return mv; } } | cs |
ModelAndView로 던져줄것이기 때문에 ModelAndView로 작성하였습니다.
mv.setViewName("index"); 이게 jsp파일을 연결해주는건데요
10 ~ 16번째 라인의 뜻은
localhost:8080/ 으로 접속을 하면 index.jsp파일을 보여줘라라는 뜻입니다.
이렇게 작성 한 후 서버를 킵니다. Spring Boot의 가장 편안점은 톰캣이 아니라
Spring Boot App라는 스프링부트 내부 서버로 돌릴 수가 있다는 게 장점인데요.
디버깅은 되는지 모르겠지만 엄청 가볍고 속도도 빠르더라구요. 개발할때는 Spring Boot App라는 서버를 저는 이용합니다.
프로젝트 마우스 우클릭 -> Run As -> 7 Spring Boot App를 클릭해줍니다.
그럼 콘솔창에 로그가 뜨면서 실행이됩니다.
서버가 완전히 켜지면 인터넷 창에 localhost:8080이라고 입력을 하고 엔터 !
그러면 Hello World !!가 출력이 되는걸 볼 수 있습니다.
참 간단하죠 ? 몇번 해보면 더 익숙해지셔서 빨리 프로젝트를 생성하실 수 있을겁니다.
포스팅 상 오류가 있다면 댓글 달아주세요 ~
'SPRING' 카테고리의 다른 글
[Spring] 전자정부프레임워크 시작하기 (0) | 2017.06.22 |
---|---|
스프링부트 jsp 파일 수정 시 바로 적용 안될 때 !! (0) | 2017.02.16 |
스프링부트 build.gradle ojdbc 추가하기 (1) | 2017.02.03 |
[MYBATIS] java.sql.SQLException: 해당 위치에 지원되지 않는 SQL92 토큰 에러 (0) | 2017.01.02 |
[mybatis] like 절 검색하기 (0) | 2016.12.12 |