스프링 관련/스프링16 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. config 패키지 구성 기본 뼈대 - config (configuration) -> 컨피그 클래스들 ( ModdelMapper, Authentication, Redis, Security ) -- filter (optional) config 패키지 하위 Config 설정 파일 클래스 특징 1. 설정 클래스 위에 @Configuration 어노테이션 필요 주요 사용 이유 : 스프링 컨테이너에 Bean 등록 위함 해당 클래스를 설정파일로 설정 위함 메서드의 이름이 Bean의 이름으로 결정된다. @Configration의 역할, Bean을 등록할 때 싱글톤이 되도록 보장해주는 역할 수행 @Bean의 역할, 스프링 컨테이너에 Bean을 등록하는 역할, @Configuration 없이 단독으로 쓰이면 해당 Bean이 싱글톤으.. 2023. 1. 14. 스프링 프로젝트 패키지 구조 정리 및 항목별 index url 정리 3개 클론코딩한 프로젝트 참조하여 공통적으로 선택 & 좋은 것 같은 템플릿 처럼 사용하려고 하는 패키지 구조 정리하려고 함 https://charactermail.tistory.com/534 - config (configuration) -> 컨피그 클래스들 ( ModdelMapper, Authentication, Redis, Security ) -- filter (optional) https://charactermail.tistory.com/535 - service -- --> interface, 구현체 쌍으로 구성 https://charactermail.tistory.com/537 - repository -- https://charactermail.tistory.com/538 - controller -.. 2023. 1. 13. 이전 1 2 3 4 다음