아무거나

[Spring Boot] springboot+gradle+bootstrap 프로젝트 생성 본문

Java/Spring

[Spring Boot] springboot+gradle+bootstrap 프로젝트 생성

전봉근 2019. 6. 7. 13:27
반응형

스프링 부트는 2014년부터 개발된 스프링의 하위 프로젝트 중 하나입니다. 단독으로 실행이 가능하고(stand-alone), 제품 수준의(production-grade)

스프링 기반 어플리케이션을 제작하는 것을 목표로 진행된 프로젝트입니다. 스프링부트의 주요 기능들은

 

- 단독 실행이 가능한 수준의 스프링 어플리케이션 제작이 가능

- 내장된 Tomcat, Jetty, UnderTow 등의 서버를 이용해서 별도의 서버를 설치하지 않고 실행이 가능

- 최대한 자동화된 설정을 제공

- XML 설정 없이 단순한 설정 방식을 제공

 

이러한 특징들을 요약하면 스프링 부트는 '단독으로 빠르게 개발 가능한 스프링 프로젝트' 제작용입니다.

처음 스프링 프레임워크를 사용했을 때 많은 XML파일을 설정해가며 개발을 하던 게 어노테이션으로 간편해졌고,

Java Config를 사용하며 더더욱 단순해졌는데 이것마저 단순화해줄 수 있는 프로젝트가 스프링 부트(Spring Boot)라고 하네요.

스프링 부트는 스프링의 여러 기술들(Data, Batch, Integration, Web, JDBC, Security)을 사용자가 쉽게 사용할 수 있게 해주는 역할을 합니다. 

 

1. 프로젝트 생성

(1) 상단의 Help > Eclipse Marketplace를 선택한다.

(2) Marketplace에서 STS를 검색한다.

(3) 이클립스 버전에 맞게 설치.

(4) File -> New -> Others -> Spring검색 -> Spring Project 선택 -> Spring Starter Project 선택

   - dependencies 선택(web, aop, facebook, h2, jdbc, twitter, websocker, mysql, security, jpa, mobile)

   - 우선 build.gradle 파일에서 compile("org.springframework.boot:spring-boot-starter-security") 부분을 주석처리 하자(=//) -       > 나중에 사용하기로.. 

(5) gradle support plugin 설치 ( 마켓 -> "gradle support" 검색 -> Buildship Gradle Integration 2.0 설치(코끼리모양) )

    * 안되면 Gradle IDE Pack 설치(required 되어있는 것만 설치)

(6) 새로 생성할 프로젝트의 내용을 입력한다.

    - name 입력, type:gradle(STS) 선택, packaging:war, group:com.test, package:com.deploy

(7) 프로젝트 생성 시 사용할 라이브러리 선택하는 창이 뜬다.

    - 우선 Web만 선택 후 finish

(8) Run As -> Spring Boot App 실행하고 http://localhost:8080 접속해보면 "Whitelabel Error Page" 내용의 페이지를 확인할 수 있다.​ 

 

2. 컨트롤러 생성

1) src/main/java 아래에 com.deploy.controller 패키지를 생성하고, deployController.java 클래스를 생성한다.

(2) 생성된 클래스에 아래 내용 작성

       [내용]

        package com.deploy.controller;

 

        import org.springframework.web.bind.annotation.RequestMapping;

        import org.springframework.stereotype.Controller;

        // import org.springframework.ui.Model;

 

        @Controller

        public class deployController {

 

            @RequestMapping("/")

            public String deployList(){

                // model.addAttribute("name", "hello world");

                return "deployList";

            }

        }

(3) http://localhost:8080 에서 확인​ 

 

3. 템플릿 엔진 적용(Thymeleaf + bootstrap)

(1) build.gradle에 dependency 추가

       [내용]

        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')

          // 제일 하단의 dependencies에 thymeleaf 관련 의존성 추가

          compile('org.springframework.boot:spring-boot-starter-thymeleaf')

        }

(2) 의존성 추가 실행

       - 프로젝트 우 클릭 -> Gradle(STS) -> Enable Dependency Management

       - 프로젝트 우 클릭 -> Gradle(STS) -> Refresh Dependencies

(3) 아래 경로에 맞춰 파일을 생성

    - /src/main/resource/static   // 정적 파일들 추가(js, css 등..)

    - /src/main/resource/templates   // html 파일 추가

      ex)

          [내용] ( = 위 2번에 컨트롤러 기준에 맞춰 생성한 test용 html파일)

          <!DOCTYPE html>

         

          <head lang="en">

              <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

              <link rel="stylesheet" href="../static/deploy.css" th:href="@{deploy.css}"/>

              <title>deploy</title>

          </head>

              <body>

                  <h1>Hello22</h1>

                  <div class="demo">Demo Text</div>

              </body>

          </html>

(4) 부트스트랩 적용

    - /src/main/resources/static 에 부트스트랩 관련 파일을 설치한다.

    - thymeleaf 에 따른 html을 생성한다.

      ex) css 가져오는법

    - <link rel="stylesheet" href="../static/deploy/vendor/bootstrap/css/bootstrap.min.css" th:href="@{/deploy/vendor/bootstrap/css/bootstrap.min.css}" />

      * 만약 오류가 뜬다면 태그마지막에 / 닫는 부분이 없어서 그럴수도 있다.​ 

 

ex ) 템플릿 엔진 부트스트랩 적용하기위한 간략한 예제

    * http://www.thymeleaf.org/doc/articles/standardurlsyntax.html  // 문서 참고

      root : /src/main/resources/static/deploy 기준

      (1) css 가져오기

          - <link rel="stylesheet" href="../static/deploy/vendor/bootstrap/css/bootstrap.min.css" th:href="@{/deploy/vendor/bootstrap/css/bootstrap.min.css}" />

      (2) js 가져오기

          - <script type="text/javascript" th:href="@{/deploy/vendor/jquery/jquery.min.js}"></script>​ 

반응형
Comments