728x90
반응형

스프링 14

@Data

▶ @Data @Data 어노테이션은 @Getter / @Setter, @ToString, @EqualAndHashCode와 @RequiredArgsConstructor를 모두 다 합쳐놓은 큰 범주의 세트라고 할 수 있다. POJO(Plain Olde Java Objects)와 bean과 관련된 모든 보일러플레이트(boilerplate = 재사용 가능한 코드)를 생성한다. class의 모든 필드에 대한 getter, setter, toString, equals와 같은 함수들 말이다. // Lombok annotation 사용 @Data public class Member { private String name; private double score; } // Lombok annotation 미사용 pub..

Spring/Lombok 2022.05.03

BaseTimeEntity - @MappedSuperclass @EntityListeners(AuditingEntityListener.class)

향로님의 "스프링부트로 웹 서비스 출시하기"에서 가져온 내용입니다! 자세한 내용 참고하고 싶으시면 https://jojoldu.tistory.com/251?category=635883 2) 스프링부트로 웹 서비스 출시하기 - 2. SpringBoot & JPA로 간단 API 만들기 이번 시간엔 SpringBoot & JPA로 간단한 API를 만들 예정입니다. Tip) 아직 SI 환경에선 Spring & MyBatis 를 많이 사용하지만, 쿠팡/우아한형제들/NHN Entertainment 등 자사 서비스를 개발하는 곳에선 SpringBoo.. jojoldu.tistory.com 참고 부탁드립니다. 생성시간 / 수정시간 자동화 - JPA Auditing 보통 Entity에는 해당 데이터의 생성시간과 수정시간..

Spring/Lombok 2022.04.29

조회 빈이 2개 이상 존재할 때 해결법

@Autowired는 타입(Type)으로 조회한다. @Autowired private DiscountPolicy discountpolicy; 타입으로 조회하기 때문에, 마치 다음 코드와 유사하게 동작한다. ac.getBean(DiscountPolicy.class) 스프링 빈 조회에서 배웠듯이 타입으로 조회하면 선택된 빈이 2개 이상일 때 문제가 발생한다. (조회했을 때 존재하지 않는 타입이면 그 때도 문제 발생, 이를 피하기 위해서 "required = false"를 넣어주어야 한다.) DiscountPolicy의 하위 타입인 FixDiscountPolicy, RateDiscountPolicy 둘다 스프링 빈으로 선언해보자. @Component public class FixDiscountPolicy im..

오브젝트와 의존관계 - 4. 개방 폐쇄 원칙 / 전략 패턴

개방 폐쇄 원칙(OCP, Open-Closed Principle)은 깔끔한 설계를 위해 적용 가능한 객체 지향 설계 원칙 중의 하나다. 이 원칙을 간단히 정의하자면 클래스나 모듈은 확장에는 열려 있어야 하고 변경에는 닫혀 있어야한다. 좋은 객체 지향 설계 원칙(SOLID)에 대해 정리해놓은 글이 있다. https://wonsjung.tistory.com/290?category=987440 좋은 객체 지향 프로그래밍 다형성 : Polymorphism 하나의 코드로 다양한 타입의 객체를 처리하는 기술 : 인터페이스를 기반으로 한 구현 클래스로 다른 일을 할 수 있도록 하는 것 -> 오버라이딩을 통해 가능하다. 스프링을 이 wonsjung.tistory.com 높은 응집도와 낮은 결합도 개방 폐쇄 원칙은 높은..

728x90
반응형