Bean 6

[Spring] Bean의 주입은 어떻게 하는게 좋을까?

목표 : Spring Bean 생성자 주입이 많은 이유를 설명할 수 있다. 이전 포스팅으로 Bean 주입에 대해 설명한 적이 있다. 잠깐 다시 정리해보자. Bean의 주입 방법 Bean의 주입 방법은 크게 3가지가 있다. 생성자 주입, Setter를 통한 주입은 앞선 포스팅으로 보았고, 필드를 통한 주입까지 3가지가 있다 Setter를 통한 주입 package com.example.demo.di; import lombok.Data; @Data public class MyBean { private int msg; } package com.example.demo.di; import lombok.Data; import org.springframework.beans.factory.annotation.Autowi..

Framework/Spring 2022.08.14

[Spring] Bean의 LifeCycle는 어떻게 될까?

목표 : Spring에서 Bean의 LifeCycle에 대해 설명할 수 있다. Bean에도 LifeCycle이 있을 것이고, 그에 따라 여러 설정값들도 있을 것이다. 그에 대해 알아보면서, 결국 서블릿 컨테이너를 통해 서블릿이 관리되고, 하나의 서블릿에서 Application Context가 관리하는 Bean들이 실행되는 전체적인 관점도 알아보도록 하자. Customizing the Nature of a Bean 계속 참고하여 보던 문서의 제목이며, Bean의 성질이 어떻게 되는지 보고, 수정할 수 있는 방향을 알아보자. 그럼 LifeCycle에 대해 알아보자. LifeCycle Spring에서는 객체를 다루므로, 객체를 만들거나 객체를 없애는 행위를 할 수 있다. 객체를 만들 때는 new로 객체를 만드..

Framework/Spring 2022.07.31

[Spring] Bean Scope 가 뭘까?

목표 : Bean Scope에 대해 설명할 수 있다. Bean Scope라는 것은 Bean의 범위인데, 아마 바로는 이해가 쉽지 않을 것이다. Bean Scope는 객체를 만들 때, 컨테이너가 이 객체를 한번만 호출하는지, 아니면 호출 할 때마다 여러번 만드는지에 대한 내용이다. 그래서 문서 상에 여러 Scope가 있는 걸 볼 수 있고, 대부분 singleton 혹은 prototype이다. 이 두가지를 알아보기 전에 한가지 정리가 필요하다. 용어부터 정리해보자. Identity (동일성) 그리고 equals (동등성) 두가지가 있다 Identity (동일성) 은 객체의 주소가 같다. 이 말은 obj1 == obj2 && obj2 == obj3 를 했을 때, true가 나오는 Hashcode가 동일한 것이..

Framework/Spring 2022.07.29

[Spring] 스프링의 DI가 뭘까?

목표 : Spring의 DI에 대해 설명할 수 있다. 이제 DI(Dependency Injection)에 대해 알아보려고 한다. 앞서 IoC Container에 대한 설명에서 Spring 공식문서에 IoC와 DI를 동일하게 표현하고 있다는 걸 먼저 볼 수 있었다. 그럼에도 용어가 다른 것에는 다른 의미가 있을 텐데, 어떻게 된건지 알아보도록 하자. 이번에도 역시, Spring 공식문서의 Dependencies 부분을 참고하여 확인해볼 것이다. Dependencies 보통의 Application은 하나 이상의 Object로 구성된다. 그리고, 이 Object들은 서로 함께 동작하게 된다. 그 예시를 보도록 하자. // A.java public class A { private B b = new B(); pu..

Framework/Spring 2022.07.26

[Spring] 스프링의 Bean을 어떻게 쓸 수 있을까?

목표 : Spring 의 Bean을 간단히 사용해볼 수 있다. 스프링은 무엇을 도와주는가? 스프링의 사용법은 어떻게 되는가? 라는 두가지 주제 중, 스프링은 무엇을 도와주는가? 에 대해 간략히 정의와 함께 알아보았고, 스프링의 사용법을 알기 이전에 그 사용 용어들부터 정리해보고 있다. 우선, 이전 포스트에서 Spring 의 IoC Container가 무엇인지 설명할 수 있게 되었다. 다만, 그 Detail을 조금 더 파고 들고자 한다. Bean이라는 것 앞서 보던 Spring 공식 문서에서 Bean Overview를 통해 자세히 알아보고자 한다. 사실 우린 Bean이라는 것도 이미 배웠다. Bean은 Spring Container (ApplicationContext 구현체) 가 관리하고 생성하고 인스턴스..

Framework/Spring 2022.07.23

[Spring] 스프링의 IoC Container가 뭘까?

목표 : 스프링의 IoC Container 에 대해 설명할 수 있다. 앞선 포스팅에서 스프링 프레임워크가 주는 의문 두가지, 스프링은 무엇을 도와주는가? 스프링의 사용법은 어떻게 되는가? 중에서 스프링의 사용법은 어떻게 되는지 알아볼 차례다. 일단 그 전에, 용어를 정리해야 사용법도 알게 될 것이므로 용어부터 하나씩 보도록 하자. 그 중, IoC Container 에 대해 알아볼 것이고, 그 내용은 스프링 공식 문서를 기반으로 확인해 보겠다. 스프링 코어 (spring-core) 스프링 코어의 가장 처음 나오는 용어가 IoC Container 이다. 그리고 그 문장을 그대로 가져오면 다음과 같다. Foremost amongst these is the Spring Framework’s Inversion o..

Framework/Spring 2022.07.23