스프링 관련63 controller 패키지 구성 기본 뼈대 - controller -> AbstractController.java / 서버에서 응답하는 Response 값 Generic으로 Mapping하는 메서드 가진 추상클래스 -- --> 각 entity 별 controller Controller에서 서버 Response 공통 포맷으로 응답하는 로직은, 강의중에서 조금 더 복잡하게 구현된 예제 내용으로 커밋함. Response는 아래 2번째 이미지 참조. controller 공통 응답 좀 더 심플하게 구현하려면 아래 Generic Response, Controller 소스코드 참고하여 구현하면 될 것으로 생각됨. @Getter @AllArgsConstructor public class Response { private String re.. 2023. 1. 15. repository 패키지 구성 기본 뼈대 - repository -- 예시 @Repository public interface PostEntityRepository extends JpaRepository { Page findAllByUser(UserEntity entity, Pageable pageable); @Transactional @Modifying @Query("UPDATE PostEntity entity SET deleted_at = NOW() where entity.id = :post") void deletePost(@Param("post") Integer postEntity); } 2023. 1. 15. domain 패키지 구성 기본 뼈대 - domain -> BaseEntity.java / time같은 각 entity에서 상속받는 칼럼 가지는 추상엔티티 클래스 -> entity에 사용되는 enum 값들 -- 공통사항 1. 보통 테이블마다 생성일시, 변경일시 와 같은 column 값을 가지는데, 테이블마다 공통적으로 가지는 칼럼을 추상 클래스로 분리하여 JpaAuditing 기능을 사용하여 하위 Entity 클래스에 중복 없이 적용 가능하다. https://charactermail.tistory.com/513 https://charactermail.tistory.com/478 @JsonInclude(Include.NON_NULL) @Getter @Setter @MappedSuperclass @EntityListene.. 2023. 1. 14. service 패키지 구성 기본 뼈대 - service -- --> interface, 구현체 쌍으로 구성 엔티티 서비스 인터페이스에 메서드 정의하고, 엔티티 서비스 구현체에 메서드 개발하는 포맷으로 정의 서비스 로직 부분 주요 역할 : Repository와 같은 Bean 들을 주입받아서 실제 businsess 로직을 구현함 아래는 서비스 부분 예시 코드 @Service @RequiredArgsConstructor public class ApplicationServiceImpl implements ApplicationService{ private final ApplicationRepository applicationRepository; private final TermsRepository termsRepository;.. 2023. 1. 14. 이전 1 ··· 4 5 6 7 8 9 10 ··· 16 다음