SpringBoot으로 웹 출시까지 #4

springboot logo

4. thymeleaf를 이용해 레이아웃 만들기

1 myhome 만들기

https://start.spring.io/

 

project : maven

springboot :  최대한 낮은 버전 / SNAPSHOT X로 선택

group : godcoder

artifact, name : myhome

java: 8

dependencies : Thymeleaf / Spring Web / Spring Boot DevTools / Lombok

2 IntelliJ와 git 연동하기

https://github.com/

깃허브 계정이 없으신분들은 회원가입을 진행합니다.

그 뒤 강의 내용대로 진행하시면 됩니다.

저는 이번 클론 코딩을 진행하는 모든 코드를 한 번에 관리하기 위해 강의와 다르게 연동하였습니다.

git repository 생성 및 로컬 폴더 연결

을 누르시면 모든 프로젝트를 하나의 리포지토리로 관리 하실 수 있습니다.

3 bootstrap 적용

부트스트랩 스타터 탬플릿 적용

https://getbootstrap.kr/docs/5.0/getting-started/introduction/

– 강의 시점과 시간이 달라 버전이 업그레이드 되었습니다.

    코드가 달라지고, 명령어가 수정되었습니다.

    최대한 유사한 코드를 사용해서 작성했습니다.

<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- Bootstrap CSS -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">

    <title>Hello, world!</title>
  </head>
  <body>
    <h1>Hello, world!</h1>

    <!-- Optional JavaScript; choose one of the two! -->

    <!-- Option 1: Bootstrap Bundle with Popper -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>

    <!-- Option 2: Separate Popper and Bootstrap JS -->
    <!--
    <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.min.js" integrity="sha384-cVKIPhGWiC2Al4u+LWgxfKTRIcfu0JTxR+EQDz/bgldoEyl4H0zUF0QKbrJ0EcQF" crossorigin="anonymous"></script>
    -->
  </body>
</html>

Visual Studio Code 연결

컴퓨터에 자동 설치된 비주얼스튜디오를 실행시켜 프로젝트 파일(myhome – main – resources)을 열어줍니다.

template 폴더 아래 “index.html” 파일을 만들고 복사한 내용을 붙여넣습니다.

<html lang=“en”> -> <html>으로 수정합니다.

[intelliJ] HomeController 만들기

myhome 아래 “controller” 폴더를 생성하고,  “HomeController” 클래스를 작성합니다.

package com.godcoder.myhome.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HomeController {
@GetMapping
public String index(){
return "index";
}
}

[VSCode]starter-template.css 작성

myhome – src – main – resources – static 아래 “starter-template.css” 파일을 생성합니다.

body {
padding-top: 5rem;
}
.starter-template {
padding: 3rem 1.5rem;
text-align: center;
}

“SpringBoot으로 웹 출시까지 #4”의 47,935개의 댓글

  1. Подробнее ответы анализируются непосредственно врачом. Консультант может собрать первичные данные, однако постановки диагноза и лечебной схемы по переписке недостаточно. Бесплатная телефонная или онлайн-консультация помогает выбрать направление, а основное лечение назначается после осмотра.
    Узнать больше – [url=https://nnarkologicheskaya-klinika-v-krasnoyarske17.ru/]наркологические клиники алкоголизм[/url]

  2. Быстро собираем первичную информацию, оцениваем риски и предлагаем подходящий вариант обращения.
    Ознакомиться с деталями – [url=https://narcolog-na-dom-lugansk6.ru/]запой нарколог на дом[/url]

  3. ddna4 is often discussed alongside ddna5, ddna6, and ddna7 by people trying to distinguish similarly named services. The sensible starting point is not the label itself, but whether a listing clearly explains its purpose, support, and current status.
    [url=https://ddna-info.com]ddna5 biz [/url]

    References to ddna4 biz, ddna5 biz, or ddna6 biz may point to business-oriented sections, yet a familiar name alone does not establish trust. Visitors should compare contact details, terms, and update history before relying on any ddna store or ddna live mention.
    [url=https://ddnaa.info]ddna6 biz [/url]

    For technical topics, a ddna переходник should be identified by actual compatibility, connectors, and operating conditions rather than a short description. Clear specifications help avoid ordering the wrong part and make discussions more useful for people maintaining older equipment.
    [url=https://ddna.fun]ddna переходник [/url]

    The same care applies when searching for a ddna сайт or a ddna info сайт. Search results can contain outdated references, copied descriptions, and confusing variations, so it is worth checking publication dates and looking for consistent information across independent sources.
    [url=https://ddna5.net]ddna7 [/url]

    Mentions of ddna info dark or ddna4 pro can create extra uncertainty because labels are often reused in unrelated conversations. A practical approach is to avoid assumptions, read the surrounding context, and treat dramatic claims as unverified until they can be supported.
    [url=https://ddna5.net]olks.cc [/url]

    Taken together, the ddna name is easiest to navigate when each reference is judged on its details rather than its wording. Keeping notes on product names, service descriptions, and verified contact channels makes later comparisons faster and reduces avoidable confusion.
    ddna4
    https://ddna6.net

  4. Состояние пациента отслеживается на каждом этапе, от первичной консультации до дальнейших рекомендаций.
    Ознакомиться с деталями – [url=https://narcolog-na-dom-lugansk10.ru/]вызов нарколога на дом в Луганске[/url]

  5. После звонка медицинский консультант уточняет историю употребления и основные симптомы. Если пациент несколько лет страдает алкоголизмом или наркотической зависимостью, эта информация особенно важна. Врач должен понимать, какие лекарства человек принимал, сколько длится запой и были ли ранее осложнения. Заказать услугу желательно до резкого ухудшения самочувствия.
    Изучить вопрос подробнее – [url=https://narcolog-na-dom-lugansk8.ru/]вызвать нарколога на дом Луганск[/url]

댓글 달기

이메일 주소는 공개되지 않습니다.