서비스 추상화
-
7장) 7.3 서비스 추상화 적용Java & Spring/토비의 스프링 3.1 2021. 8. 8. 17:27
7.3 서비스 추상화 적용 JaxbXmlSqlReader 개선 과제 JAXB 외에 다양한 XML과 자바오브젝트를 매핑하는 기술이 있음 필요에 따라 다른 기술로 변경해서 사용 XML 파일을 좀 더 다양한 소스에서 가져올 수 있게 만든다 앞서 작성한 내용은 UserDao 클래스와 같은 class path 안에서만 XML을 읽어올 수 있음 임의의 class path나 파일 시스템 상의 절대위치 or HTTP 프로토콜을 통해 원격에서 가져오도록 확장하는 방법 생각 7.3.1 OXM 서비스 추상화 OXM (Object-XML Mapping) JAXB 외에 실전에서 자주 사용되는 다양한 XML과 자바오브젝트를 매핑하는 기술(OXM) Castor XML 설정파일 필요 X 인트로스펙션 모드를 지원하기도 하며 간결하고 ..
-
5장) 5.3 서비스 추상화와 단일 책임 원칙 ~ 5.5 정리Java & Spring/토비의 스프링 3.1 2021. 7. 2. 14:11
5장 서비스 추상화 5.3 서비스 추상화와 단일 책임 원칙 수직, 수평 계층구조와 의존관계 기술과 서비스에 대해 추상화 기법 적용 UserDao와 UserService가 각각 담당하는 코드의 기능적인 관심에 따라 분리, 독자적으로 확장이 가능하도록 작업 같은 계층에서 수평적인 분리 트랜잭션 추상화 비즈니스 로직과 그 하위에서 동작하는 로우레벨의 트랜잭션 기술이라는 아예 다른 계층의 특성을 갖는 코드를 분리 단일 책임 원칙 하나의 모듈은 한가지 책임을 가져야함 == 하나의 모듈이 바뀌는 이유는 한 가지여야함 UserService 예시 JDBC Connection 메소드를 직접 사용하는 트랜잭션 코드가 있던 경우 두 가지의 책임을 가짐 사용자 레벨을 어떻게 관리할 것인가 트랜잭션을 어떻게 관리할 것인가 단일..
-
5장) 5.1 사용자 레벨 관리 기능 추가Java & Spring/토비의 스프링 3.1 2021. 6. 26. 18:11
5장 서비스 추상화 지금까지 만든 DAO에 트랜잭션을 적용하면서 스프링이 어떻게 성격이 비슷한 여러 종류의 기술을 추상화하고 일관된 방법으로 사용하도록 지원하는지 살펴보기 5.1 사용자 레벨 관리 기능 추가 지금까지 만든 UserDao는 비즈니스 로직을 가지고 있지 않다. 사용자 관리 기능을 넣어 활동 내역을 참고한 레벨 조정 기능을 추가 사용자 레벨 BASIC, SILVER, GOLD 처음 가입 시, BASIC 등급, 활동에 따라 한 단계씩 업그레이드 가입 후 50회 이상 로그인 ~> SILVER SILVER 레벨이면서 30번 이상 추천 ~> GOLD 사용자 레벨은 일정한 주기를 가지고 일괄 진행 변경 작업 전에는 조건을 충족해도 변경이 일어나지 않음 필드 추가 LEVEL 이늄 3 단계기 때문에 DB에..