전체 글

나만의 참고서
SPRING

Spring 웹 계층

Web Layer 흔히 사용하는 컨트롤러(@Controller)와 JSP/Freemarker 등의 뷰 템플릿 영역 이 외에도 필터(@Filter), 인터셉터, 컨트롤러 어드바이스(@ControllerAdvice) 등 외부 요청과 응답에 대한 전반적인 영역 Service Layer @Service에 사용되는 서비스 영역 일반적으로 Controller와 Dao의 중간 영역 Transactional이 사용되어야 하는 영역 Repository Layer Database와 같이 데이터 저장소에 접근하는 영역 Dao영역 Dtos Dto(Data Transfer Object)는 계층 간에 데이터 교환을 위한 객체 eg. 뷰 템플릿 엔진에서 사용될 객체 Repository Layer에서 결과로 넘겨준 객체 Domain..

SPRING

JPA Annotation

@NoArgsConstructor @Entity public class Posts { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(length = 500, nullable = false) private String title; @Column(columnDefinition = "TEXT", nullable = false) private String content; private String author; @Builder public Posts(String title, String content, String author) { this.title = title; this.content = content; th..

SPRING

Lombok Annontation

@Getter 선언된 모든 필드의 get 메소드를 생성 @Setter 선언된 모든 필드의 set 메소드를 생성 @RequiredArgsContstructor 선언된 모든 final 필드가 포함된 생성자를 생성 final이 없는 필드는 생성자에 포함되지 않음 @NoArgsConstructor 기본 생성자 자동 추가 public 클래스() {} @Builder 해당 클래스의 빌더 패턴 클래스 생성 생성자 상단에 선언 시 생성자에 포함된 필드만 빌더에 포함

SPRING

단위 테스트

단위 테스트를 작성함으로써 얻는 이점 개발단계 초기에 문제를 발견하게 도와준다 개발자가 나중에 코드를 리팩토링하거나 라이브러리 업그레이드 등에서 기존 기능이 올바르게 작동하는지 확인할 수 있다. 기능에 대한 불확실성을 감소시킬 수 있다. 시스템에 대한 실제 문서를 제공. 즉, 단위 테스트 자체가 문서로 사용할 수 있다. 단위 테스트를 배우기 전의 개발 방식 코드 작성 Tomcat 실행 브라우저 or Postman과 같은 API 테스트 도구로 HTTP 요청 요청 결과를 System.out.println()으로 검증 결과가 다르면 Tomcat 중지 후 코드 수정 2~5 반복 MVC Test Sample @RunWith(SpringRunner.class) @WebMvcTest(controllers = Hell..