본문 바로가기

Spring

스프링 트랜잭션 전파 속성(Transaction Propagation in Spring) Spring Framework의 트랜잭션 전파속성 트랜잭션을 시작하거나 기존 트랜잭션에 참여하는 방법을 결정하는 속성이다. 트랜잭션 경계의 시작지점에서 트랜잭션 전파 속성을 참조해서, 해당 범위의 트랜잭션을 어떤 식으로 진행 시킬 지 결정 할 수 있다. 스프링이 지원하는 트랜잭션 전파속성은 여섯가지가 있다. 모든 속성이 트랜잭션 매니저, 데이터 액세스 기술과 지원되지는 않으니 주의해야 한다. Required (default) Supports Mandatory Requires new Not supported Never Nested Required 기본 속성. 모든 트랜잭션 매니저가 지원한다. 미리 시작 된 트랜잭션이 있으면 참여하고, 없으면 새로 시작한다. 트랜잭션이 시작 된 후에 다른 트랜잭션 경계가 설.. 더보기
컨테이너와 IoC, DI 란? 스프링을 공부하면 처음 접하는 용어들이 있다. 컨테이너, IoC, DI 등 용어들에 대해서 간단하게 다뤄보자. IoC(Inversion of Control)란? IoC는 Inversion of Control의 줄임 말로, 제어의 역전이라는 뜻이다. 프로그램의 흐름을 개발자가 제어하지 않고, 프로그램이나 프레임웤이 직접 제어를 한다는 말이다. 컴포넌트의 의존 관계 결정(Component dependency resolution), 객체의 생명 주기(life cycle)와 같은 일을 대신 수행해준다. 흔히 스프링 프레임웤을 이용해서 개발할 때 여러가지 Bean을 사용 할 것이다. 사용자의 요청이 들어오면, 요청에 알맞은 Bean을 생성해서 필요한 일을 하도록 시킨다. 해당 Bean이 할 일을 마치면 Bean을.. 더보기
Layered Architecture in DDD Layered Architecture의 목적 관심사의 분리. 각 계층간의 관심사를 분리하기 위함이다. 기술과 로직이 분리가 안돼있다면 유지관리가 힘들다. 핵심원칙 같은 계층, 아래 계층 요소에만 의존한다. (상위계층에 의존하지 않는다) Layer 종류 User Interface Layer Application Layer Domain Layer Infrastructure Layer User Interface Layer(사용자 인터페이스 계층 or 표현 계층) 사용자에게 정보를 보여주고, 사용자의 명령을 해석한다. 유일하게 사용자가 접근 가능한 계층이다. Application Layer(응용 계층) 소프트웨어가 수행할 작업을 정의하고, 도메인이 문제를 해결하게 한다. 업무규칙, 지식은 포함되지 않는다. 도메.. 더보기