본문 바로가기
IT/spring

스프링 List 타입 매핑(List Type Mapping)

by 뉴코딩맨 2023. 6. 14.
스프링 프레임워크에서는 다양한 형태의 의존성을 주입할 수 있습니다. 이 중에서도 List 타입에 대한 매핑은 유용하게 활용될 수 있습니다. 스프링은 List에 속하는 여러 개의 객체를 한번에 주입할 수 있는 기능을 제공합니다. 스프링에서의 List 타입 매핑에 대해 자세히 알아보고, 예시를 통해 설명하겠습니다.
 
 

List 타입 매핑의 사용 예시

List 타입 매핑은 다음과 같은 상황에서 유용하게 사용될 수 있습니다. 예를 들어, 한 클래스에서 여러 개의 의존성을 관리해야 하는 경우 List를 활용하여 한번에 주입할 수 있습니다.
 
public class MyService {
    private List<MyRepository> repositories;

    public void setRepositories(List<MyRepository> repositories) {
    	this.repositories = repositories;
    }

    // ...
}
 
위 예시에서 MyService 클래스는 MyRepository 객체의 List인 repositories를 필드로 가지고 있습니다. setRepositories 메서드를 통해 List 타입의 의존성을 주입받을 수 있습니다. 이를 통해 MyService 클래스에서는 MyRepository 객체들을 한번에 주입받아 사용할 수 있습니다.
 
 

스프링에서의 List 타입 매핑

스프링 프레임워크에서는 List 타입 매핑을 설정하기 위해 다음과 같은 방법을 사용할 수 있습니다.
 

XML 설정

XML 설정 파일에서 List 타입을 매핑하려면 <list> 요소를 사용합니다. 예를 들어, 아래와 같이 설정할 수 있습니다.
 
<bean id="myService" class="com.example.MyService">
    <property name="repositories">
        <list>
            <ref bean="repository1" />
            <ref bean="repository2" />
            <ref bean="repository3" />
        </list>
    </property>
</bean>
 
위 예시에서는 repositories 프로퍼티에 repository1, repository2, repository3 세 개의 빈을 List로 주입하고 있습니다.

 

 

어노테이션 설정

어노테이션을 사용하여 List 타입 매핑을 설정할 수도 있습니다. @Autowired 어노테이션과 @Qualifier 어노테이션을 함께 사용하여 List에 속하는 빈을 주입할 수 있습니다. 예를 들어,
 
public class MyService {
    @Autowired
    @Qualifier("repositoryList")
    private List<MyRepository> repositories;

    // ...
}
 
위 예시에서는 @Autowired와 @Qualifier 어노테이션을 사용하여 repositoryList라는 이름을 가진 List에 속하는 MyRepository 빈을 주입받고 있습니다.

 

 

결론

스프링 프레임워크에서의 List 타입 매핑은 다양한 의존성을 한번에 주입받고 관리하는 데에 유용한 기능입니다. XML 설정과 어노테이션을 통해 간편하게 List 타입 매핑을 구성할 수 있습니다. List 타입 매핑을 활용하면 코드의 유연성과 확장성을 향상시킬 수 있으며, 여러 개의 객체를 효과적으로 관리할 수 있습니다.
 

댓글