[Spring Project] 스프링 부트 정적 컨텐츠와 Welcome Page 동작 원리
·
Back end/Spring Project
1. 스프링 부트의 정적 컨텐츠 기능스프링 부트는 src/main/resources/static/ 디렉터리에 위치한 정적 HTML, CSS, JavaScript, 이미지 등의 파일을 자동으로 제공하는 기능을 갖추고 있습니다. 이를 통해 별도의 설정 없이도 정적 웹 페이지를 쉽게 배포할 수 있습니다. 예를 들어, static/index.html 파일을 추가하면 애플리케이션 실행 시 기본 Welcome Page로 동작합니다. index.htmlHellohello위와 같이 index.html을 static 폴더에 두면, 사용자가 http://localhost:8080/로 접근할 때 자동으로 해당 파일이 응답됩니다. 2. 정적 컨텐츠와 컨트롤러의 우선순위스프링 부트는 요청이 들어왔을 때 다음과 같은 우선순위로 ..
[ORM & JPA] 객체와 데이터베이스를 연결하는 새로운 길, ORM과 JPA
·
Database/ORM & JPA
ORM(Object-Relational Mapping)은 자바의 객체와 데이터베이스를 연결하는 혁신적인 프로그래밍 기법입니다.이 기법을 통해 SQL을 몰라도 데이터베이스 값을 객체처럼 다룰 수 있어 자바로 간편하게 데이터를 추출할 수 있습니다.ORM의 장점SQL 미사용: SQL을 직접 작성하지 않고도 데이터베이스에 접근할 수 있습니다.객체지향적 코드 작성: 객체지향적으로 코드를 작성하여 비즈니스 로직에 집중할 수 있습니다.데이터베이스 시스템 추상화: 데이터베이스 시스템이 추상화되어 있어 MySQL에서 PostgreSQL로의 전환 시 추가 작업이 거의 없습니다. 따라서 데이터베이스 시스템에 대한 종속성이 줄어듭니다.명확한 매핑 정보: 매핑 정보가 명확하여 ERD에 대한 의존도를 낮출 수 있고 유지보수에 용..
[H2 Database] 스프링 부트와 H2 데이터베이스: 인메모리 RDBMS의 장점과 활용
·
Database/H2 Database
H2 데이터베이스는 Java로 작성된 오픈 소스 데이터베이스 관리 시스템(DBMS)입니다. 주로 테스트 및 개발 환경에서 사용되며, 경량 데이터베이스로서 빠르고 간편하게 설정할 수 있는 것이 큰 장점입니다.관계형 데이터베이스 관리 시스템(RDBMS)이란?RDBMS는 관계형 데이터베이스 관리 시스템(Relational Database Management System)의 약자로, 데이터를 행(Row)과 열(Column)로 구성된 테이블 형태로 관리하는 데이터베이스 시스템을 의미합니다. RDBMS의 주요 특징은 다음과 같습니다.테이블 기반 구조데이터는 행과 열로 구성된 테이블에 저장됩니다. 각 테이블은 고유한 이름을 가지며, 서로 관계를 맺을 수 있습니다.데이터 무결성데이터의 정확성과 일관성을 유지하기 위해 ..