ABOUT

성능과 운영 안정성을 함께 끌어올리는 개발자입니다.

92% Positional Error Reduction
79% p95 Latency Improvement
90%+ Long Tasks Reduction

2022.02 · 한국장학재단

우수 멘티

한국장학재단 사회 리더 대학생 멘토링 IT

2022.10 · 동작구청

우수 인재상

동작구청 우수 SW 인재

2025.05 · (주) 그랩

프로그래밍 우수상

(주) 그랩 우수 프로그램 개발

2025.05 · AWSKRUG

AWS한국사용자모임 발표

AI agent 스크립트 튜닝 관련 발표

ComputerScience

Development

Engineering

Trouble Shooting

GUESTBOOK

첫 마음부터
함께 나누는 온기

방명록 작성하러 가기

SUBSCRIBE

최신소식을
편하게 만나보세요.

@Autowired

 
 

Annotation

environment
variables

 

What ?

@Autowired

 

Spring은 어플리케이션이 실행될 때 @Component, @Service, @Repository, @Controller, @Bean 어노테이션이 붙은 클래스들을 스캔해 빈으로 등록하고 관리합니다. 

IoCDI 기능을 활용하기 위해 사용하는 어노테이션입니다.

해당 필드, 생성자 파라미터, 또는 메서드 파라미터에 호환되는 타입의 빈을 찾아서 자동으로 주입하라고 지시합니다.


How ?

@Autowired

 Spring은 @Autowired가 붙은 곳의 타입과 일치하는 빈을 컨테이너에서 찾습니다.

이 어노테이션이 붙은 클래스의 인스턴스를 생성하고, 필요에 따라 다른 빈에 주입할 수 있도록 관리합니다. @Service, @Repository, @Controller 등의 스테레오타입 어노테이션은 @Component를 상속받아 더 특정적인 역할을 나타내지만, 결국 Spring 빈으로 등록되는 것은 마찬가지입니다.

 

 

 

타입 기반 매칭 (Type-based matching): 가장 일반적인 방식입니다. 필드의 타입과 동일한 타입의 빈이 컨테이너에 하나만 존재하면 그 빈이 주입됩니다.

이름 기반 매칭 (Name-based matching): 타입 기반 매칭으로 여러 개의 호환되는 빈이 발견되면, 필드의 이름과 동일한 이름을 가진 빈을 찾아서 주입합니다.

@Qualifier 어노테이션: 특정 이름의 빈을 명시적으로 지정하고 싶을 때 @Qualifier("빈 이름") 어노테이션을 함께 사용할 수 있습니다.

@Primary 어노테이션: 여러 개의 동일한 타입의 빈이 있을 때, @Primary 어노테이션이 붙은 빈을 우선적으로 주입하도록 설정할 수 있습니다.

 

728x90