[SELF Mini Project -2] 기본 패키지 생성

현이·2023년 12월 11일
0

Self Study

목록 보기
2/5
post-thumbnail

목표

  • 기본 패키지 생성, 디렉토리 정리
  • Member CRUD 구현하기

기본 패키지

  • 기본 패키지 구성

  • Member 엔티티 만들기

    @Entity 어노테이션 적용 안됨 에러
    -> build.gradle에 JPA 추가 안해서 발생
    -> build.gradle에 밑에 코드 추가

        implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
        implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
        implementation 'org.springframework.boot:spring-boot-starter-validation'

    -> Member.java에 import jakarta.persistence.*; 추가


  • MemberController 만들기
    -> Annotation 추가 (@RestController, @RequestMapping)
    -> @Validation 쓰려면 build.gradle에 implementation 추가(starter-validation)

  • MemberDto 생성
    -> ResponseEntity 생성
    -> MemberDto.Post 비밀번호 Validation
       @NotBlank
           @Pattern(regexp="^(?=.*[a-zA-Z])(?=.*\\d)(?=.*\\W).{8,20}$")
           private String password;
      
    ⏩ 비밀번호 포맷 확인(영문, 특수문자, 숫자 포함 8자 이상) 정규 표현식 -> Post는 모든 파라미터 필요하므로 @Getter , @AllArgsConstructor 사용
    -> Patch는 골라서 수정 가능하므로 @Getter 만 사용

  • MemberMapper 생성 (MemberEntity ↔️ MemberDto 형변환)
    -> MapStruct 기반 Mapper 자동생성 (build.gradle에 추가)
    implementation 'org.mapstruct:mapstruct:1.4.2.Final'
    annotationProcessor 'org.mapstruct:mapstruct-processor:1.4.2.Final'

  • MemberRepository 생성
    -> 인메모리 DB 추가
implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
runtimeOnly 'com.h2database:h2'	//인메모리 DB

-> src > main > resources 에서 application.properties -> application.yml로 rename

->

spring:
  h2:
    console:
      enabled: true
  datasource:
    url: jdbc:h2:mem:test
  jpa:
    hibernate:
      ddl-auto: create  #스키마 자동생성
    show-sql: true  #SQL 쿼리 출력

0개의 댓글