component

    [Spring] @Component vs @Bean

    저번 포스팅 ([Spring] Java Bean vs Spring Bean) 에 이어서 빈과 관련된 두번째 포스팅을 진행한다. 스프링 MVC에서는 @Controller, @Service, @Repository 등으로 빈으로 등록할 수 있으며, configuration 관련 객체들은 @Bean과 @Component 으로 스프링 컨테이너에 객체를 빈으로 등록할 수 있다. 그럼 @Bean 과 @Component의 차이는 무엇일까? 두 어노테이션은 혼용해도 될까? 정답은 No다. @Bean과 @Component는 각자 선언할 수 있는 타입이 정해져있어 해당 용도외에는 컴파일 에러를 발생시킨다. 각각의 어노테이션에 대해서 알아보도록 하자. @Component 개발자가 직접 컨트롤이 가능한 Class들의 경우에사용..