반응형

자바 면접 3

[토비의 스프링 3.1 Vol 1] 6장. AOP (~6.3)

6장 AOP 스프링에 적용된 가장 인기 있는 AOP의 적용 대상은 바로 선언적 트랜잭션 기능이다. 6.1 트랜잭션 코드의 분리 6.1.1 메소드 분리 비즈니스 로직 코드 사이에 두고 트랜잭션 시작과 종료를 담당하는 코드가 앞뒤에 위치하고 있다. 트랜잭션 경계설정의 코드와 비즈니스 로직 코드 간에 서로 주고받는 정보 없이 독립적인 코드다. 비즈니스 로직을 담당하는 코드를 메소드로 추출해서 독립시킨다. 6.1.2 DI를 이용한 클래스의 분리 여전히 트랜잭션을 담당하는 기술적인 코드가 UserService 안에 있다. 간단하게 트랜잭션 코드를 클래스 밖으로 뽑아내면 된다. DI의 기본 아이디어를 이용하면 된다. 실제 사용할 오브젝트의 클래스 정체는 감춘 채 인터페이스 통해 간접으로 접근하는 것이다. 그 ..

[토비의 스프링 3.1 Vol 1] 5장. 서비스 추상화 (~5.2.2)

5장. 서비스 추상화 DAO에 트랜잭션을 적용해보면서 스프링이 어떻게 성격이 비슷한 여러 종류의 기술을 추상화하고 일관된 방법으로 사용할 수 있는지 살펴본다.  5.1 사용자 레벨 관리 기능 추가다수의 회원이 가입할 수 있는 인터넷 서비스외 사용자 관리 모듈에 적용한다고 가정 사용자 관리 기능에는 단지 정보를 넣고 검색하는 것 외에도 정기적으로 사용자의 활동내역을 참고해서 레벨 조정해주는 기능이 필요  구현해야 하는 비즈니스 로직 사용자의 레벨은 BASIC, SILVER, GOLD 세 가지 중 하나다.사용자가 처음 가입하면 BASIC 레벨이 되며, 이후 활동에 따라서 한 단계씩 업그레이드 될 수 있다. 가입 후 50회 이상 로그인 하면 BASIC에서 SILVER 레벨이 된다. SIVER 레벨이면서 30회..

[토비의 스프링 3.1 Vol 1] 1장. 오브젝트와 의존관계

들어가며 : 스프링이란 무엇인가 ?자바 엔터프라이즈 애플리케이션 개발에 사용되는 애플리케이션 프레임워크기본 틀 - 스프링 컨테이너스프링은 스프링 컨테이너 (또는 애플리케이션 컨텍스트) 라고 불리는 스프링 런타임 엔진을 제공스프링 컨테이너는 설정 정보를 참고로 해서 애플리케이션을 구성하는 오브젝트를 생성하고 관리 스프링 컨테이너는 독립적으로 동작할 수도 있지만 보통 웹 모듈에서 동작하는 서비스나 서블릿으로 등록해서 사용 공통 프로그래밍 모델 - IoC/DI, 서비스 추상화, AOP1) IoC/DI : 오브젝트의 생명주기와 의존관계에 대한 프로그래밍 모델으로 스프링 프레임워크에 동작하는 코드는 IoC/DI 방식을 따라서 작성돼야 스프링이 제공하는 가치를 제대로 누릴 수 있다.2) 서비스 추상화 : 스프링을 ..

반응형