스프링 부트의 계층
스프링 부트는 각 계층이 양 옆의 계층과 통신하는 구조입니다. 각 계층은 역활과 책임이 있는 구성요소를 의미합니다. 그리고 각 계층은 계층 간의 통신은 가능하지만 직접 영향을 미치지 않습니다.
프레젠테이션 계층
HTTP 요청을 받고 이 요청을 비즈니스 계층으로 전송하는 역활입니다. 즉 컨트롤러가 프레젠테이션 계층의 역활을 합니다.
비즈니스 계층
모든 비즈니스 로직을 처리합니다. 즉 서비스를 만들기 위한 로직을 말합니다. 예를 들면 물건을 조회할 때 물건의 개수, 가격 등의 데이터를 처리하기 위한 로직 등을 처리합니다. 즉 서비스가 비즈니스 계층의 역활을 합니다.
퍼시스턴스 계층
데이터베이스 관련 로직을 처리합니다. 데이터베이스에 접근하는 DAO(데이터베이스 계층과 상호작용하기 위한 객체) 객체를 사용할 수 있습니다.
스프링 부트 디렉터리
main
실제 동작하는 코드를 작성하는 디렉터리입니다.
test
main에 적요하기 전에 테스트 목적의 디렉터리입니다.
build.gradle
의존성이나 플러그인 설정 등 빌드에 필요한 설정을 위한 파일입니다.
resources 디렉터리에는 static, templates, application.properties 가 존재합니다.
static
static은 css, js, 이미지와 같이 변하지 않는 파일을 저장하는 디렉터리입니다.
templates
templates는 변하는 데이터를 저장하는 곳입니다. 즉 타임리프와 같은 도구로 데이터 + HTML 을 합쳐 프로그램에 제공하는 파일을 저장하는 디렉터리입니다.
application.properties
스프링 부트 애플리케이션의 설정을 관리하는 주요 파일입니다.
# Spring Boot 기본 설정
# 서버 포트 설정 (기본값: 8080)
server.port=8080
# Thymeleaf 설정 (기본 설정으로 대부분 자동으로 처리됨)
spring.thymeleaf.cache=false # 개발 중에는 캐시를 비활성화하여 변경 사항을 즉시 반영할 수 있습니다.
# 데이터베이스 연결 설정
spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name
spring.datasource.username=your_database_username
spring.datasource.password=your_database_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# JDBC 설정
spring.jpa.hibernate.ddl-auto=update # 데이터베이스 테이블 생성 및 업데이트 자동화 (수정 시 주의)
spring.jpa.show-sql=true # SQL 쿼리를 콘솔에 출력
# Lombok 설정 (특별한 설정이 필요하지 않음; Lombok이 잘 작동하면 추가 설정은 필요 없음)
# Lombok은 컴파일 시 애노테이션 프로세서를 사용하므로, 별도의 설정이 필요 없습니다.
# 로깅 설정 (기본 로그 레벨 설정)
logging.level.root=INFO # 로깅 레벨 설정 (DEBUG, INFO, WARN, ERROR)
logging.file.name=application.log # 로그 파일 이름 (필요 시 설정)
# Spring Web 설정 (기본 설정으로 대부분 자동으로 처리됨)
# 기본적으로 /index, /home 등의 요청을 처리할 수 있는 컨트롤러 설정 필요
# 예외 처리 페이지 설정 (옵션)
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
설정은 다음과 같이 합니다.
'웹 프레임워크 (Web Framework) > Spring Boot' 카테고리의 다른 글
스프링 부트 컨트롤러 (0) | 2024.09.10 |
---|---|
스프링부트 서비스 (0) | 2024.09.10 |
스프링 부트 데이터베이스 (0) | 2024.09.09 |
스프링 부트 컨트롤러와 페이지 만들기 (0) | 2024.09.09 |
스프링 부트 시작하기 (0) | 2024.08.25 |