-
다양한 Bean 주입 방법SPRING/스프링프레임워크 핵심개념 2021. 5. 8. 23:01
스프링프레임워크에서는 다양한 방법으로 Bean을 주입할 수 있다.
스프링에서는 application.xml에 직접 bean을 정의하거나, component-scan을 통하여 bean을 scan하는 방식을 사용할 수 있다. component-scan은 base-package 이하의 클래스에 선언되어 있는 bean들을 scan하여 주입한다.
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"> <!-- Bean 주입 방법 1. Bean 직접 설정 --> <bean id="bookService" class="com.springapplicationcontext.demo.BookService"> <property name="bookRepository" ref="bookRepository"/> </bean> <bean id="bookRepository" class="com.springapplicationcontext.demo.BookRepository"/> <!-- Bean 주입 방법 2. Component-scan--> <context:component-scan base-package="com.springapplicationcontext"/> </beans>
component-scan이 당연하지만 훨씬 많이 이용 되고 있다.
xml 외에 JAVA 파일을 통해서 Bean 주입도 가능하다.
위와 같이 Bean을 주입하는 방법도 가능하지만 많이 사용하지는 않는다.
요즘 많이 사용하는 스프링 부트에서는 프로젝트를 생성하면 @SpringBootApplication 어노테이션이 붙은 Application 자바파일이 생성된다. 해당 어노테이션에 아래와 같이 ComponentScan이 선언되어있는 것을 볼 수 있다.
그렇기 떄문에 개발자가 bean scan 관련한 설정을 별도로 신경쓰지 않고 개발을 할 수가 있다.
'SPRING > 스프링프레임워크 핵심개념' 카테고리의 다른 글
Environment - 프로파일 (0) 2021.05.14 Bean의 스코프 (0) 2021.05.13 @Component와 컴포넌트 스캔 (1) 2021.05.09 @Autowired를 이용한 의존성 주입 (0) 2021.05.09 IOC컨테이너/ 빈 / DI 관련 개념정리 (0) 2021.05.08