인터페이스
스프링 기본 - 인터페이스 InitializingBean, DisposableBean
스프링 기본 - 인터페이스 InitializingBean, DisposableBean
2022.06.07인터페이스 InitializingBean, DisposableBean 코드를 바로 보자 InitializingBean은 afterPropertiesSet() 메서드로 초기화를 지원한다. DisposableBean은 destroy() 메서드로 소멸을 지원한다. 출력 결과 출력 결과를 보면 초기화 메서드가 주입 완료 후에 적절하게 호출 된 것을 확인할 수 있다. 그리고 스프링 컨테이너의 종료가 호출되자 소멸 메서드가 호출 된 것도 확인할 수 있다. 초기화, 소멸 인터페이스 단점 이 인터페이스는 스프링 전용 인터페이스다. 해당 코드가 스프링 전용 인터페이스에 의존한다. 초기화, 소멸 메서드의 이름을 변경할 수 없다. 내가 코드를 고칠 수 없는 외부 라이브러리에 적용할 수 없다. 참고 : 인터페이스를 사용하는 ..
스프링 기본 - 비즈니스 요구사항과 설계
스프링 기본 - 비즈니스 요구사항과 설계
2022.05.24비즈니스 요구사항과 설계 회원 회원을 가입하고 조회할 수 있다. 회원은 일반과 VIP 두 가지 등급이 있다. 회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. (미확정) 주문과 할인 정책 회원은 상품을 주문할 수 있다. 회원 등급에 따라 할인 정책을 적용할 수 있다. 할인 정책은 모든 VIP는 1000원을 할인해주는 고정 금액 할인을 적용해달라. (나중에 변경 될 수 있다.) 할인 정책은 변경 가능성이 높다. 회사의 기본 할인 정책을 아직 정하지 못했고, 오픈 직전까지 고민을 미루고 싶다. 최악의 경우, 할인을 적용하지 않을 수도 있다. (미확정) 요구사항을 보면, 회원 데이터, 할인 정책 같은 부분은 지금 결정하기 어려운 부분이다. 그렇다고 이런 정책이 결정될 때 까지 개발을..
스프링 입문 - 회원 도메인과 리포지토리 만들기
스프링 입문 - 회원 도메인과 리포지토리 만들기
2022.05.17hello.hellospring.domain이라는 이름으로 새로운 패키지를 생성했다. 그리고 domain 패키지에 Member라는 이름의 클래스를 생성했다. 여기서 id는 임의의 값인데, 데이터 베이스든 데이터에 저장할 때 사용하는 단순 시퀀스로 정해지는 임의의 값이다. 고객이 정하는 id가 아니라 데이터를 구분하기 위해서 시스템이 저장하는 id값이다. 그리고 name은 이름이다. getter, setter를 만들어 준다. 그리고 이번에는 회원 리포지토리 인터페이스를 만들자. 먼저, 패키지를 만들자. 이름은 hello.hellospring.repository로 생성했다. 그리고, MemberRepository 라는 이름의 인터페이스를 만들었다. 기능을 만들 것인데, save를 만든다. 회원을 저장하면, ..