본문 바로가기

Spring

SpringBoot 기초 개념 정리.

반응형

SpringBoot

1. 스프링 부트 소개
    1) 스프링 생태게 기반으로한 개발 플랫폼
    2) spring-boot-starter
        - 자동구성을 제공하는 스타터로 빌드구성이 단순해짐
        - XML 구성을 요구하지도 않고 코드로 필요없음
    3) 단독 실행 가능한 스프링 애플리케이션 생성 
    4) 톰캣, 제티 등을 내장 가능.
        - WAR(Web Application Archieve) ==> JAR(Java Archieve)

2. 빌드도구
    1) 종류 - Maven, Gradle
    2) 코드 컴파일, 패키징 수행, 의존성 관리(필요한 라이브러리 관리)

3. 스프링 부트 시작되는 곳
    - @SpringBootApplication
        - 스프링 부트 탐색지점
        - 자동구성 활성화
    
    - main(String[] args)
        - 메인 클래스 진입지점

    - SpringApplication.run(ThymeleafApplication.class, args)
        - 스프링 부트 애플리케이션 구동지점 

4. 프로젝트 코드 기본 구조
    1) 기본(default) 패키지 사용금지
    2) 클래스 패스(classpath)
        - src/main/java
          com.example.thymeleaf : 최상위 패키지
        - src/main/resources
        - src/test/java
        - src/test/resources 

5. 레이아웃
    1) 반복되는 화면 영역을 별도로 분리하여
       여러 다른 페이지에 적용할 수 있음
       - 헤더
       - 푸터
       - 메뉴
       - 상단검색창 

    2) 의존성 
        <dependency>
            <groupId>nz.net.ultraq.thymeleaf</groupId>
            <artifactId>thymeleaf-layout-dialect</artifactId>
        </dependency>
    
    3) 관련문법 
       - th:replace - th:fragment로 선언된 HTML 태그를
         다른 HTML로 교체하는 것 
         ex: <body>
                <div th:replace="fragments/header::header"></div>
                <div layout:fragment="content"></div>
                <div th:replace="fragments/footer::footer"></div>
            </body>
    4) 레이아웃 만들기
        - 공통영역 만들기 - 헤더, 푸터
            - 공통영역 헤더 코드 
                - ex : <div th:fragment="header">
            - 공통영역 푸터 코드 
                - ex : <div th:fragment="footer">

        - 공통 영역을 포함한 레이아웃 만들기 
            - ex)
                <!-- 헤더 적용 -->
                     <div th:replace="fragments/header::header"></div>
                <!-- 컨텐츠 적용 -->
                    <div layout:fragment="content"></div>
                <!-- 푸터 적용 -->
                     <div th:replace="fragments/footer::footer"></div>

        - (콘텐츠 만들면서) 공통 영역 적용하기 
            - 레이아웃을 적용한 콘텐츠 코드 
                - ex)
                <html lang="en" xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout
                layout:decorate="~{layouts/mainLayout}">
                <div layout:fragment="content">

 

6. 프런트엔드(FrontEnd)
    1) Spring Boot에서 공식적으로 제공하는 템플릿 엔진 
        - Thymeleaf Template
    2) 자바스크립트 라이브러리 (jQuery)
    3) UI 템플릿
        - Bootstrap5 : 오픈소스, 범용적인 서비스 UI 템플릿 

7. 화면 개발 템플릿 (Thymeleaf)
    1) 기본 문법
        - th:href 
            - HTML a태그처럼 링크 처리하는 문법
                - 내부 페이지
                    - 예) <a th:href="@{/login}">Login</a>
                - 직접 URL
                - 변수로 전달
                - 파라미터 전달 


SpringBoot 연습


   
    

반응형