[Spring-boot | 백앤드 개발 셋팅(설정)] - 기본 의존성 셋팅 및 설명
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: 코드 저장 시 자동 재시작과 라이브 리로드로 변경을 즉시 반영해 개발 속도를 높여주는 개발용 가속기입니다.

