728x90 분류 전체보기43 @Configuration 안에 @Bean을 사용해야 하는 이유, proxyBeanMethods 스프링에서 수동으로 빈을 등록 할때 @Configuration 클래스 안에 @Bean을 사용한다. 왜 그런지 살펴보자. ● @Configuration 안에 @Bean을 사용하는 이유, proxyBeanMethods - @Bean 어노테이션을 이용한 수동 빈 등록 스프링에선 일반적으로 컴포넌트 스캔을 이용해 자동으로 빈을 등록하는 방법을 이용한다. 하지만 @Bean 어노테이션을 사용해 수동으로 빈을 등록해야 할 때도 있다. 개발자가 직접 제어가 불가능한 라이브러리를 활용할 때 애플리케이션 전 범위적으로 사용되는 클래스를 등록할 때 다형성을 활용하여 여러 구현체를 등록해야 할 때 @Bean을 이용한 수동 빈 메소드는 스프링 빈 안에만 구현되어 있다면 모두 동작한다. 하지만 스프링은 @Bean은 반드시 @Co.. 2022. 10. 30. 빈 등록을 위한 어노테이션 기존의 스프링 MVC에서는 xml을 활용하여 Bean을 등록하고 있었다. 하지만 프로젝트의 규모가 커짐에 따라 사용하는 요소들은 xml에 등록하는 것이 상당히 번거로워 져서 어노테이션 기반의 Bean 등록 방법이 탄생하게 되었다. Bean을 등록하기 위한 @Bean, @Component, @Configuration 어노테이션에 대하여 알아보자. ● Spring Bean이란? - 스프링에서 스프링의 DI Container에 의해 관리되는 POJO(Plain Old Java Object)를 Bean이라고 부른다. 이러한 Bean들이 스프링을 구성하는 핵심 요소이다. POJO(Plain Old Java Object)로써 스프링 애플리케이션을 구성하는 핵심 객체이다. 스프링 IoC 컨테이너(또는 DI 컨테이너).. 2022. 10. 30. static 변수와 static 메소드 자바에서는 static 키워드를 사용한다는 것은 메모리에 한번 할당되어 프로그램이 종료될 때 해제되는 것을 의미한다. ● static의 메모리 일반적으로 우리가 만든 Class는 static 영역에 생성되고, new 연산을 통해 생성된 객체는 Heap영역에 생성된다. 객체의 생성시 할당된 Heap영역의 메모리는 Garbage Collector를 통해 수시로 관리를 받는다. 하지만 static 키워드를 통해 static 영역에 할당된 메모리는 모든 객체가 공유하는 메모리라는 장점을 지니지만, Garbage Collector의 관리 영역 밖에 존재하므로 static을 자주 사용하면 프로그램의 종료시 까지 메모리에 할당된 채로 존재하게 된다. ● static 변수 특징 static 변수는 클래스 변수다. 객체.. 2022. 10. 30. @Controller와 @RestController 컨트롤러를 지정하기 위한 어노테이션은 @Controller @RestController가 있다. 두 어노테이션의 차이 점은 HTTP Response Body가 생성되는 방식이다. ● @Controller - Controller로 View 반환하기 전통적인 Sprinv MVC의 컨트롤러인 @Controller는 주로 View를 반환하기 위해 사용한다. 아래와 같은 과정을 통해 Spring MVC Container는 Client의 요청으로부터 View를 반환한다. Client는 URI 형식으로 웹 서비스에 요청을 보낸다. DispatcherServlet이 요청을 위임할 HandlerMapping을 찾는다. HandlerMapping을 통해 요청을 Controller로 위임한다. Controller는 요청 처.. 2022. 10. 30. 이전 1 2 3 4 5 6 ··· 11 다음 728x90