Spring

Spring/스프링 핵심 원리 - 고급편

[스프링 핵심 원리 - 고급편] 템플릿 메서드 패턴과 콜백 패턴

본문은 인프런의 [스프링 핵심 원리 - 고급편]를 수강하고 정리한 글입니다. 필요에 따라 생략/수정된 부분이 있을 수 있으며, 내용이 추후 변경될 수 있습니다.스프링 핵심 원리 - 고급편 1. 쓰레드 로컬 2. 템플릿 메서드 패턴과 콜백 패턴 3. 프록시 패턴과 데코레이터 패턴 4. 동적 프록시 기술 5. 스프링이 지원하는 프록시 6. 빈 후처리기 7. @Aspect AOP 8. 스프링 AOP 개념 9. 스프링 AOP 구현 10. 포인트컷 11. 실무 주의사항 전 챕터에서는 쓰레드 로컬을 이용해서 thread-safe한 로그 추적기를 구현해봤다. 그러나 이 로그 추적기의 도입으로 핵심 기능 코드 외에 부가 기능을 처리하는 코드가 포함되었다. 각 계층(controller, service, repositor..

Spring/스프링 핵심 원리 - 고급편

[스프링 핵심 원리 - 고급편] 쓰레드 로컬 (ThreadLocal)

본문은 인프런의 [스프링 핵심 원리 - 고급편]를 수강하고 정리한 글입니다. 필요에 따라 생략/수정된 부분이 있을 수 있으며, 내용이 추후 변경될 수 있습니다. 스프링 핵심 원리 - 고급편 1. 쓰레드 로컬 2. 템플릿 메서드 패턴과 콜백 패턴 3. 프록시 패턴과 데코레이터 패턴 4. 동적 프록시 기술 5. 스프링이 지원하는 프록시 6. 빈 후처리기 7. @Aspect AOP 8. 스프링 AOP 개념 9. 스프링 AOP 구현 10. 포인트컷 11. 실무 주의사항 본 챕터에서는 멤버 변수를 이용한 로그 추적기에서 동시성 문제가 발생하는 것을 살펴보고, 쓰레드 로컬을 이용함으로써 동시성 문제를 해결하는 것을 공부했다. 먼저 기본 뼈대코드를 간단하게 살펴보자. TraceId public class TraceI..

Spring/Spring

[Spring] 빈 중복 시 해결방법(@Autowired, @Qualifier, @Primary)

1. 의존관계 자동주입 스프링은 애노테이션 기반의 의존성 주입(DI) 기술을 제공하는데, 대표적인 애노테이션이 바로 @Autowired이다. @Autowired는 해당 애노테이션을 붙인 요소(메서드, 필드)에서 의존하는 객체와 동일한 타입의 빈을 찾아 주입해준다. 즉, 의존관계를 자동으로 주입해준다. @Autowired는 타입을 기준으로 빈을 조회하기 때문에 동일한 타입의 빈이 2개 이상 존재할 때 아래와 같은 빈 중복 문제가 발생할 수도 있다. 마찬가지로 @Configuration+@Bean 조합으로 수동으로 빈을 등록할 때도 동일하게 발생할 수 있는 문제다. @Component public class FixDiscountPolicy implements DiscountPolicy {} @Componen..

Spring/Spring

[Spring] 트랜잭션 전파 옵션

트랜잭션 관련 포스팅 [Spring] 트랜잭션 추상화 정리 [Spring] 트랜잭션 동기화 정리 [Spring] 트랜잭션 AOP 동작 흐름 [Spring] 트랜잭션 AOP 사용 시 주의점 (ft. Spring AOP self-invocation) [Spring] 스프링 트랜잭션 전파와 롤백 [Spring] 트랜잭션 전파 옵션 트랜잭션 전파 옵션 스프링은 다양한 트랜잭션 전파 옵션을 제공한다 전파 옵션에 별도의 설정을 하지 않으면 REQUIRED가 기본으로 사용된다 실무에서는 대부분 REQUIRED 옵션을 사용하고(+아주 가끔 REQUIRES_NEW), 나머지는 거의 사용하지 않는다 나머지 옵션은 이렇게 있다는 사실만 알아두고, 필요할 때마다 찾아보자 1) REQUIRED (default) 트랜잭션이 필수..

Spring/Spring

[Spring] 스프링 트랜잭션 전파와 롤백

트랜잭션 관련 포스팅 [Spring] 트랜잭션 추상화 정리 [Spring] 트랜잭션 동기화 정리 [Spring] 트랜잭션 AOP 동작 흐름 [Spring] 트랜잭션 AOP 사용 시 주의점 (ft. Spring AOP self-invocation) [Spring] 스프링 트랜잭션 전파와 롤백 [Spring] 트랜잭션 전파 옵션 트랜잭션 전파란? 트랜잭션을 각각 사용하는 것이 아니라 트랜잭션이 이미 진행중인데, 여기에 추가로 트랜잭션을 수행하면 어떻게 되는가? 기존 트랜잭션과 별도의 트랜잭션을 따로 진행해야 하는가? 혹은 기존 트랜잭션을 그대로 이어 받아서 트랜잭션을 수행해야 하는가? 이렇게 복수의 트랜잭션을 사용할 경우 동작 방식을 결정하는 것을 트랜잭션 전파(propagation)라고 한다 참고로 스프링..

코택
'Spring' 카테고리의 글 목록 (4 Page)