스터디/Spring
Spring 스터디3 - 1
라퐁
2025. 6. 10. 22:01
Spring initializr로 프로젝트 생성
- Porject: Gradle-Groovy
- Language: Java
- Spring Boot: 3.5.0
- Project Metadata:
- Group: jpabook
- Artifact: jpashop
- Name: jpashop (기본적으로 Artifact 동일)
- Description: Demo Project for Spring Boot (기본값)
- Package Name: jpabook.jpashop (Group.Artifact)
- Packaging: Jar
- Java: 21
- Dependencies
- Spring Web (웹 애플리케이션 개발 필수)
- Lombok (getter/setter 등 어노테이션으로 생성)
- Thymeleaf (템플릿 엔진)
- Spring Data JPA (JPA 사용을 위함)
- H2 Database (개발용으로 많이 쓰는 데이터베이스)
- Validation (자바 빈 객체의 값 검증)
Lombok 적용 테스트
package jpabook.jpashop;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class LombokTest {
private String data;
}
@Getter
와 @Setter
를 통해 data 값을 넣고 조회하는 LombokTest 클래스 생성
package jpabook.jpashop;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class JpashopApplication {
public static void main(String[] args) {
// Lombok 적용 테스트
LombokTest lombokTest = new LombokTest();
lombokTest.setData("Test");
System.out.println(lombokTest.getData());
SpringApplication.run(JpashopApplication.class, args);
}
}
콘솔에 "Test"
가 출력되며 확인 완료
JPA와 DB 설정
spring:
datasource:
url: jdbc:h2:tcp://localhost/~/Downloads\spring\springjpa1-v20250325/jpashop
username: sa
password:
driver-class-name: org.h2.Driver
jpa:
hibernate:
ddl-auto: create
properties:
hibernate:
# show_sql: true
format_sql: true
logging:
level:
org.hibernate.SQL: debug
org.hibernate.orm.jdbc.bind: trace
H2 데이터베이스와 연결하고, JPA를 설정한다. spring.jpa.hibernate.ddl-auto의 값은 다음과 같다.
- none: 스키마를 자동으로 생성하거나 변경하지 않음
- validate: 엔티티와 스키마가 일치하는지 검증만 하며 변경하지 않음
- update: 엔티티 변경사항을 반영해 스키마를 자동 갱신함(기존 데이터 유지, 컬럼 삭제 등은 미반영)
- create: 기존 스키마를 삭제하고 엔티티 기준으로 새로 생성(기존 데이터 모두 삭제)
- create-drop: create와 동일하게 시작 시 새로 생성하고 종료 시 스키마 삭제