상수보다는 열거형을 사용하자 Enum Class 은 열거형이라고 불리며, 서로 연관된 상수들의 집합을 의미합니다. Enum Class 의 장점 Enum Class 는 완벽한 싱글톤이다 Thread-safety, Serialization 이 보장된다 기존 코드의 문제점 비즈니스 로직의 코드를 테스트도 만들어서 꼼꼼하게 점검했지만, 깔끔한 코드를 추구하는 스프링 사용자답게 만들어진 코드를 다시 한번 검토해보자. 코드에 중복된 부분은 없는가? 코드가 무엇을 하는 것인지 이해하기 불편하지 않은가? 코드가 자신이 있어야 할 자리에 있는가? 앞으로 변경이 일어난다면 어떤 것이 있을 수 있고, 그 변화에 쉽게 대응할 수 있게 작성되어 있는가? 트랜잭션 트랜잭션 경계설정 데이터베이스는 그 자체로 완벽한 트랜잭션을 지원..
의존관계 주입 방법은 크게 4가지가 있습니다. 다양한 의존관계 주입 방법을 알아보고 최근 스프링에서 왜 생성자 주입 방식을 권장하는지 살펴보겠습니다. 수정자 주입 자바빈 프로퍼티 규약의 setter 메소드 방식을 사용하는 방법입니다. 선택, 변경 가능성이 있는 의존관계에 사용됩니다. @Component public class MemberService { private MemberRepository memberRepository; @Autowired public void setMemberRepository(MemberRepository memberRepository) { this.memberRepository = memberRepository; } public Member selectMember(Long ..
초난감 예외처리 초난감 예외처리 1 try { ... } catch(SQLException e){ }예외를 잡고는 아무것도 하지 않는 코드이다. 예외 발생을 무시해버리고 정상적인 상황인 것처럼 다음 라인으로 넘어가겠다는 분명한 의도가 있는 게 아니라면 연습 중에도 절대 만들어서는 안 되는 코드다. 초난감 예외처리 2 } catch(SQLException e) { System.out.println(e); }초난감 예외처리 3 } catch(SQLException e) { e.printStackTrace(); }예외가 발생하면 화면에 출력해주는데 뭐가 문제일까? 운영서버로 올라가면 콘솔 로그를 누군가가 계속 모니터링하지 않는 한 이 예외 코드는 심각한 폭탄으로 남아 있을 것이다. 예외를 처리할 때 반드시 지..