스프링 15

[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] 스프링 프레임워크가 뭘까?

목표 : 스프링(Spring)이 무엇인지 설명할 수 있다. 더보기 서론이자 내 생각.. 스프링을 별도로 공부한 적은 많이 있지만, 글을 적으려고 할 때마다, 그리고 너무 겉핥기로 알고 있다보니 난감한 부분이 있다. 특히나 어려운 부분은, 오랫동안 발전해왔고 그 히스토리를 온전히 공부하면서 쌓아가야하는 건 아닐까 하는 생각이 항상 들어, 어디부터 어떻게 시작해야하는지 감이 잘 잡히지 않는다. 게다가 Spring Security, Data, Batch, Cloud, JPA 등등 너무도 다양해지는 탓에 어떻게 시작해야하는지 모르는 경우가 많았다. 무작정 토비의 스프링을 들고 공부하면 될지, 아니면 스프링부트로 API 서버 만드는 법부터 하면 되는 건지, JSP를 비롯한 이제는 점점 Legacy라는 단어로 표현..

Framework/Spring 2022.07.22