WEB

자바로 연습용 웹사이트 만들어 보기 1일차

ohs020105 2025. 8. 20. 05:42

처음에 

Spring Initializr 에 https://start.spring.io/

가서 자신이 만들 필요한 프레임워크들을 담아준다.

이런식으로 담고 밑에 generate를 눌러 다운을 받아 압축을 해제하고 

코드 편집기에서 압축푼 파일을 열어준다.

 

그런다음 동기화 될때 까지 기달려준다.

 

그 다음에는 자신이 사용할 db를 설정해줘야 하는데 

나같으면 mariaDB를 이용했다.

 

gpt에 물어보니 Docker라는 기능이 있는데 그걸 좀 알아보니

 

Docker는 애플리케이션과 실행에 필요한 환경(런타임, 라이브러리, 설정)을 “이미지”로 묶고, 이를 “컨테이너”로 실행해 어디서나 같은 환경을 보장해 주는 경량 가상화 도구다. 이번 프로젝트에선 MariaDB를 설치 없이 컨테이너로 띄워, 포트만 맞추어 스프링 부트와 손쉽게 연동했다.

 

Docker Desktop 설치·준비

  • Docker Desktop 설치 후 실행
  • 상태가 “Docker is running”인지 확인
  • 관리자 권한 PowerShell(또는 CMD) 실행

MariaDB 컨테이너 실행

  • 포트 충돌 방지를 위해 호스트 포트를 3307로 매핑
  • 초기 root 비밀번호와 데이터베이스를 환경변수로 지정

 

명령어 입력(DB 생성)

docker run --name mariadb-tasty -e MARIADB_ROOT_PASSWORD=pass -e MARIADB_DATABASE=tasty -p 3307:3306 -d mariadb:11

 

docker ps → Up 상태, PORTS에 0.0.0.0:3307->3306/tcp 표시

 

영구 저장(선택)

 

docker run --name mariadb-tasty -e MARIADB_ROOT_PASSWORD=pass -e MARIADB_DATABASE=tasty -p 3307:3306 -v mariadb_data:/var/lib/mysql -d mariadb:11

 

자주 쓰는 관리 명령

  • 시작/중지/재시작: docker start|stop|restart mariadb-tasty
  • 로그 보기: docker logs -f mariadb-tasty
  • 삭제: docker rm -f mariadb-tasty

DB 클라이언트(HeidiSQL)로 접속 테스트

호스트: 127.0.0.1

포트: 3307

사용자: root

비밀번호: pass

문자셋: utf8mb4

접속 후 tasty 데이터베이스가 보이는지 확인

없으면 생성

CREATE DATABASE IF NOT EXISTS tasty CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

Spring Boot 연결 설정

 

properties를 쓰는 경우

spring.datasource.url=jdbc:mariadb://localhost:3307/tasty
spring.datasource.username=root
spring.datasource.password=pass
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.open-in-view=false
spring.thymeleaf.cache=false
logging.level.org.hibernate.SQL=debug
logging.level.org.hibernate.orm.jdbc.bind=trace

 

이어서 java Main 파일에서 실행해보면 

 

이렇게 이미지가 뜨면 성공한거다. 

 

이렇게 하면 기본 개발틀 + DB연결은 된거다. 

 

앞으로 개발을 이어나가면 될 것 이다.

'WEB' 카테고리의 다른 글

Spring Boot와 JPA로 간단한 블로그 앱 만들어보기 (CRUD)  (0) 2025.09.02