Spring
-
Spring : 이벤트 리스너 기본 개념 (@EventListener, @TransactionalEventListener)각종 학습 요약/Spring 2022. 7. 11. 17:36
Spring : 이벤트 리스너 기본 개념 (@EventListener, @TransactionalEventListener) 이 글에서는 스프링에서 이벤트를 처리하는 어노테이션을 소개합니다. 스프링에서는 이벤트 어노테이션을 통해서 어플리케이션 전체에 이벤트를 발행(Publish)할 수 있습니다. 어떻게 이벤트를 발행하고 어떻게 이벤트리스너를 구현하는지 알아보도록 할게요. @EventListener Spring 4.2 이상에서 이벤트를 처리하는 아주 간단한 방법으로 @EventListener가 적용되었습니다. 이로써 특정 클래스를 상속하지 않고도, 즉 스프링에 종속되지 않고 순수 POJO 객체만을 활용해서도 이벤트 프로그래밍이 가능합니다. 간단한 사용 예시를 남겨보겠습니다. 이벤트를 발행할 쪽에서는 Appl..
-
Spring: 의존관계 주입(DI, Dependency Injection) 방식 네 가지 요약각종 학습 요약/Spring 2022. 6. 16. 15:37
Spring: 의존관계 주입(DI, Dependency Injection) 방식 네 가지 요약 이 글에서는 Spring Framework의 의존관계 주입(이하 'DI') 방식 네 가지를 살펴보고, 각각의 방식이 어떤 특징을 가지고 있는지 요약해보겠습니다. DI의 네 가지 방식 Spring Framework에서 컨테이너가 관리하고 있는 Bean 객체에 의존관계를 주입하는 방법에는 크게 네 가지가 있습니다. 생성자 주입 세터(수정자) 주입 필드 주입 (일반)메서드 주입 1. 생성자 주입 생성자 주입은 아주 자주 사용됩니다. 왜 자주 사용되는지, 어떤 특징이 있는지 잘 알아둘 필요가 있습니다. 단 한 번만 호출되는 것을 보장합니다(생성 시). 불변 객체를 만들 수 있습니다. 생성 시점(컨테이너에..
-
Spring: IoC와 DI를 예시로 쉽게 이해해보자각종 학습 요약/Spring 2022. 6. 16. 13:13
지난 포스트에서 컨테이너와 빈에 대해 말했었어요. 그 내용들은 어렵지 않게 '아 그런게 있구나' 할 수 있는 내용이었죠. 근데 요 다음부터 바로 빈의 의존 주입 같은게 튀어나오면 '응? 갑자기? 왜? 뭐 때문에?'와 같은 생각이 들기 십상이거든요?(일단 저는 그랬습니다...) "컨테이너란게 있고, 빈이란게 있는데, 그래서 뭐. 굳이 왜 걔네가 객체를 관리해주고, 우리는 그걸 써야돼?"라는 질문을 해결하지 못하면, 이후의 스프링 내용들을 정말로 이해할 수는 없을 거에요. 그냥 외워서 사용하게 되는 것이죠. 그래서 이해를 돕고자 예시로 설명을 준비해봤습니다. 저나 여러분이나, 스프링을 공부하고 좀 더 잘 이해하는데에 도움이 되기를.... 바랍니다! (잘못된 설명이 있다면 지적 부탁드려요..!) 00:00 -..
-
Spring: Spring Container와 Bean각종 학습 요약/Spring 2022. 6. 16. 11:56
Spring Container와 Bean 스프링 컨테이너와 빈에 대한 간략한 설명글입니다. Spring Container란? 스프링 웹 어플리케이션 내부에서 활용되는 객체들을 관리하고 있는 관리자이자 저장소입니다. 객체를 생성하고, 저장하고, 소멸합니다. 스프링 컨테이너가 객체를 생성/사용하는 기본적인 값은 싱글톤입니다. 컨테이너에서 별다른 설정 없이 객체를 얻었다면(getBean()), 싱글톤 객체가 반환됩니다. 싱글톤 객체들은 컨테이너가 생성되고 나서 바로 객체를 생성하고, 보관하다가 어플리케이션 종료 시점에 소멸됩니다. 스프링컨테이너, DI컨테이너, IoC컨테이너, 아니면 그냥 편하게 컨테이너라고 불립니다. Bean이란? Container에서 관리/사용되는 모든 객체를 Bean이라고 합니다. 빈의 ..