카테고리 없음

[Spring-boot | 백앤드 개발 셋팅(설정)] - 기본 의존성 셋팅 및 설명

Ch's Lee 2025. 9. 26. 11:22

STS4

 

2번을 쓸건지, 4번을 쓸건지!! 고르면됨...

 

 

1. @LOMBOK = @ENTITY, @DATA, @GETTER, @Slf4j, @Builder   등 쓰기 위함

 

- JPA 엔티티엔 @Data 남용 금지(양방향 연관관계 ToString/Equals 무한루프·성능 이슈); 필요 시 @Getter + @NoArgsConstructor(access = PROTECTED) + @Builder 조합 권장.

 

Model에서 뒤단에 데이터베이스랑 클래스랑 1:1 연결시 @Data 비권장

 

2. Spring Data JPA = 는 Repository를 만들어 extends= JPARepository 상속을 받아서 사용함 =>

 

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-jpa</artifactId> <!-- 기본 구현체로 Hibernate 포함 -->
</dependency>

 

핵심: spring-boot-starter-data-jpa만 넣으면 기본 JPA 구현체=Hibernate가 자동 구성.

 

extends JpaRepository<BoardDTO, Integer>

 

 - 조금 깊게 씀 - JPQL --> QueryDSL(커스텀해서 사용함, 속도 향상--- 특히  equals)

 - @Entity, @Table

- 의존성 주입시 자동으로 하이버네이트(Hibernate 추가됨)

 

그래서 application.properties에다가 

 

# SQL 문장
logging.level.org.hibernate.orm.sql=debug
# 바인딩되는 파라미터 값까지
logging.level.org.hibernate.orhttp://m.jdbc.bind=trace
logging.level.org.hibernate.orm.jdbc.extract=trace

# 보기 옵션
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.highlight_sql=true   # ANSI 컬러
spring.jpa.properties.hibernate.use_sql_comments=true

 

추가 하면, 로그 찍힘

 

 

3.  Spring WEB = 은 MVC 패턴을 쓰기 위함 @Controller, @Service, @Repository

 

 

 

4.  Mybatis FrameWork = Mapper 1:1 테이블과 DTO 맵핑

 

 

밑에 application.properties 이다. yml 상요해도 됨

 

 

월래 model은 DTO임 용도가 다름...

 

내가 직접 쓴 SQL을 자바 객체에 매핑해주는 SQL 매퍼 프레임워크”

 

5. Spring boot Devtools : DevTools: 코드 저장 시 자동 재시작라이브 리로드로 변경을 즉시 반영해 개발 속도를 높여주는 개발용 가속기입니다.