본문 바로가기
IT/spring

스프링 의존성 주입(Dependency Injection) 설정

by 뉴코딩맨 2023. 6. 15.
스프링 프레임워크는 의존성 주입(Dependency Injection)을 통해 객체 간의 관계를 관리하고, 애플리케이션의 유연성과 테스트 용이성을 향상시킵니다. 스프링에서의 의존성 주입 설정 방법에 대해 알아보고, 실제 예시를 통해 설명하겠습니다.
 
 

의존성 주입이란?

의존성 주입은 객체 간의 의존 관계를 외부에서 설정하고 주입하는 방식입니다. 이를 통해 객체 간의 결합도를 낮추고, 유지보수성과 테스트 용이성을 개선할 수 있습니다.
 

의존성 주입 설정 방법

스프링에서는 의존성 주입을 설정하는 여러 가지 방법을 제공합니다. 주요한 방법으로는 다음과 같습니다:
 
 

1. XML 설정

XML 파일을 사용하여 의존성 주입을 설정하는 방법입니다.
<bean> 요소를 사용하여 객체를 정의하고, <property> 요소를 통해 의존성을 주입합니다.

 

2. 애노테이션 설정

애노테이션을 사용하여 의존성 주입을 설정하는 방법입니다.
@Autowired 애노테이션을 사용하여 의존성을 자동으로 주입합니다.

 

3. Java 설정

자바 코드를 사용하여 의존성 주입을 설정하는 방법입니다.
@Configuration 애노테이션을 사용한 Java Config 클래스를 작성하고, @Bean 애노테이션을 통해 객체를 정의하고 의존성을 주입합니다.
의존성 주입 예시
아래는 스프링에서 의존성 주입을 설정하는 예시입니다.
 
 

XML 설정 예시

 
<bean id="userService" class="com.example.UserService">
	<property name="userRepository" ref="userRepository"/>
</bean>

<bean id="userRepository" class="com.example.UserRepository"/>

 

애노테이션 설정 예시

 

@Service
public class UserService {
    @Autowired
    private UserRepository userRepository;

    // ...
}

 

 

Java 설정 예시

 
@Configuration
public class AppConfig {
    @Bean
    public UserService userService() {
    	return new UserService(userRepository());
    }

    @Bean
    public UserRepository userRepository() {
    	return new UserRepository();
    }
}
 
위의 예시에서는 XML 설정, 애노테이션 설정, Java 설정 방법을 각각 보여주고 있습니다. 각 설정 방법에 따라 객체 간의 의존성을 주입하고 관리할 수 있습니다.
 
 

결론

스프링에서의 의존성 주입 설정은 XML, 애노테이션, Java 코드를 통해 다양한 방법으로 구현할 수 있습니다. 각 방법에 따라 설정 방식이 다르지만, 모두 객체 간의 의존성을 외부에서 주입하여 유연하고 효율적인 애플리케이션을 개발할 수 있습니다.
 

'IT > spring' 카테고리의 다른 글

스프링 @Resource  (0) 2023.06.15
스프링 @Qualifier  (0) 2023.06.15
스프링 컴포넌트 스캔(component-scan) 설정  (0) 2023.06.15
스프링 properties 타입 매핑  (0) 2023.06.14
스프링 Map 타입 매핑  (0) 2023.06.14

댓글