Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Java/자바]Spring 프레임워크의 @Autowired이란? 본문
Spring Framework에서 @Autowired는 자동 의존성 주입을 수행하는 데 사용되는 어노테이션입니다. 이 어노테이션을 사용하면 Spring이 필요로 하는 빈을 자동으로 찾아 해당 필드에 주입합니다.
1. @Autowired 사용법
@Autowired 어노테이션은 다양한 위치에서 사용할 수 있습니다. 필드, 생성자, Setter 메서드에 사용하여 의존성을 주입할 수 있습니다.
예제 1. 필드에 @Autowired 사용하기
// 사용되는 디렉토리: src/main/java/com/example/service
// 파일명: MyService.java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class MyService {
@Autowired
private MyRepository repository;
// MyRepository 사용
}
예제 2. 생성자에 @Autowired 사용하기
// 사용되는 디렉토리: src/main/java/com/example/service
// 파일명: MyService.java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class MyService {
private final MyRepository repository;
@Autowired
public MyService(MyRepository repository) {
this.repository = repository;
}
// MyRepository 사용
}
예제 3. Setter 메서드에 @Autowired 사용하기
// 사용되는 디렉토리: src/main/java/com/example/service
// 파일명: MyService.java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class MyService {
private MyRepository repository;
@Autowired
public void setRepository(MyRepository repository) {
this.repository = repository;
}
// MyRepository 사용
}
2. @Autowired 사용 시 주의사항
의존성을 자동으로 주입할 때, Spring이 해당 타입의 빈을 찾지 못하면 예외가 발생할 수 있습니다. 이때는 @Autowired의 required 속성을 false로 설정하여 의존성 주입을 선택적으로 수행할 수 있습니다.
예제 4. required 속성 사용하기
// 사용되는 디렉토리: src/main/java/com/example/service
// 파일명: MyService.java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class MyService {
@Autowired(required = false)
private MyRepository repository;
// MyRepository 사용 (repository가 null인 경우 처리)
}
'프로그래밍' 카테고리의 다른 글
[Java/자바] 프로그램 1초마다 반복 실행하기 (0) | 2024.03.07 |
---|---|
[Java/자바] 문자열의 단어 개수 가져오는 방법 (0) | 2024.03.07 |
[Java/자바] 문자열 한 글자씩 자르기 (0) | 2024.03.07 |
[Java/자바] 문자열 첫번째 문자, 마지막 문자 확인 (0) | 2024.03.07 |
[Java/자바] Set(HashSet)를 배열로 변환하기 (0) | 2024.03.07 |