일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 생명주기
- 게시판
- 안드로이드 AVD
- JavaScript
- 회원가입
- CSS
- Selector
- 주님의교회
- 웹개발
- jQuery
- 청주
- Java
- 안드로이드
- androidstudio
- 에디터
- 프로그래밍
- Android
- 글쓰기
- 인텐트
- Spring
- #청주주님의교회
- Activity
- 자바
- 제이쿼리
- java 8
- Resources
- Intent
- 아이콘
- 영성
- TinyMCE
- Today
- Total
공부하는 블로그
의존성 주입설정 (Spring) 본문
스프링에서 의존성 주입을 지원하는 어노테이션으로는 @Autowired, @Inject, @Qualifier, @Resource가 있다.
@Autowired : 주로 변수 위에 설정하여 해당 타입의 객체를 찾아서 자동으로 할당한다.
org.springframework.beans.factory.annotation.Autowired
@Autowired은 생성자나 메소드, 멤버변수 위에 모두 사용할 수 있다. 어디에 사용하든 결과가 같아서 상관없지만, 대부분은 멤버변수 위에 선언하여 사용한다. 스프링 컨테이너는 변수 위에 붙은 @Autowired를 확인 하는 순간 해단 변수의 타입을 체크한다. 그리고 그 타입의 객체가 메모리에 존재하는지를 확인 한 후에, 그 객체를 변수에 주입한다.
그런데 만약 @Autowired가 붙은 객체가 메모리에 없다면 컨테이너가 NoSuchBeanDefinitionException을 발생시킨다. 해당 메시지는 @Autowired 대상 객체가 메모리에 존재하지 않는다는 의미이다.
@Resource는 객체의 이름을 이용하여 의존성 주입을 처리한다. @Resource는 name속성을 사용할 수있어서, 스프링컨테이너가 해당이름으로 생성된 객체를 검색하여 의존성주입을 처리한다. //@Inject어노테이션과 같은 기능을 수행한다.
@Qualifier는 의존성 주입 대상이 되는 타입의 객체가 두개 이상일때 발생할 때 문제가 발생하는데 @Qualifier어노테이션을 이용하면 의존성 주입될 객체의 아이디나 이름을 지정할 수있는데 , 이 때 객체의 이름 중 하나를 지정하면 간단하게 처리할 수있다.
'Develop > Spring' 카테고리의 다른 글
사용자 인증 예제 (0) | 2018.03.06 |
---|---|
트랜젝션처리 와 Exception처리 (0) | 2018.03.06 |
@어노테이션 정리 (0) | 2018.03.06 |
Spring 이란? (0) | 2018.03.06 |
Spring MVC Controller(컨트롤러)가 무엇을 처리해 주는가? (0) | 2017.12.12 |