스프링부트 프로젝트 생성하기입니다.




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 !!가 출력이 되는걸 볼 수 있습니다.


참 간단하죠 ? 몇번 해보면 더 익숙해지셔서 빨리 프로젝트를 생성하실 수 있을겁니다.


포스팅 상 오류가 있다면 댓글 달아주세요 ~