본문 바로가기
반응형

bean12

spring annotation-driven 시 bean name 중복(충돌,conflicts) 해결 spring은 annotation-driven component scan 시 기본적으로 Bean 이름으로 id를 결정한다.(annotation으로 설정) 예를 들어 클래스명이 TestController 라면 id는 “testController” 로 결정된다. 이때 다른 패키지에서 동일한 이름을 가진 클래스(컴포넌트)가 중복으로 존재한다면 동일한 id 를 가지게 되며 아래와 같은 에러 메시지를 볼 수 있다. org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from file [.....\servlet-context.xml]; nested exception is org... 2022. 12. 4.
Spring Bean 등록(@Bean은 @Configuration 내에) 이전 포스팅에서 스프링에서 DI 와 IoC를 사용하기 위해서는 스프링에 Bean을 등록해줘야하고 그에 대한 내용은 아래 참고포스팅에서 알아볼수 있다. 하지만 스프링을 다루기 위해서는 가장 중요한 부분이라서 다시 한번 정리를 할겸 포스팅을 또 한번 다뤄보게 되었다. 수동으로 등록을 할수도 있고, 자동으로 등록해줄수 있다. 수동 방법은 다음과 같다. @Configuration public class ResourceConfig { @Bean public class classname() { return new NiceResource(); } } 이렇게 @Bean을 통해서 수동으로 넣어줄수 있고, Bean이 있는 class에는 Configuration annotation을 달아줘야한다. 물론 Configurati.. 2022. 9. 5.
Spring Bean 이란? 스프링에는 다양한 특징이 있지만 그중 하나는 제어의 역전 IoC 이다. 제어의 역전에 관한 내용은 아래 참고 포스팅을 참조하면 이해하기 쉬울 것이다. 스프링 컨테이너에서 직접 객체를 관리 하게 되는데 이것을 빈(Bean)이라고 한다. 빈 등록은 다양한 방법이 있는데 @Component 애노테이션이 있으면 스프링 빈으로 자동 등록된다. 또한, @Component를 포함하는 @Controller, @Service, @Repository 애노테이션도 스프링 빈으로 자동 등록된다. 스프링에서는 다음과 같은 순서로 동작을 한다. 컨트롤러에서 @Controller 어노테이션을 사용하게 되면 자동으로 스프링 빈에 등록이 되고, controller 클래스에서는 서비스 호출을 위해 @Autowired 라는 어노테이션으로.. 2022. 7. 17.
반응형