반응형
SMALL
[1] 객체 수동연결
(1) 객체 수동 연결
[3] 객체 자동연결 @Autowired
(1) @Autowired 특징
- 인스턴스변수 iv , setter , 참조형 매개변수를 가진 생성자 또는 메서드에 적용한다
- 스프링에서 Bean 인스턴스가 생성 된 후 @Autowired를 설정한 메서드가 자동으로 호출되고 인스턴스가 자동으로 주입된다 (DI)
- Spring container에서 타입으로 bean을 검색해서 참조 변수에 자동으로 주입한다
- 검색된 빈이 n개이면 그 중에 참조변수와 이름이 일치하는것을 주입한다
- 생성자의 경우 생략 가능하다. 디폴트 생성자가 있다면 생략하지 않는것이 좋다.
- 인스턴스 변수에 일일이 연결하는 것보다 매개변수를 이용하는것이 더 좋다
- by Type 으로 빈을 검색한다
(2)@Autowired 사용법
- 인스턴스 변수형에 사용하기
- 매개변수를 가진 생성자에 사용하기
- setter에 사용하기
(3) @Autowired 예외발생
찾으려는 대상이 변수일때 , 찾은 Bean의 갯수는 1개만 있어야한다
찾으려는 대상이 배열일때 찾은 Bean의 갯수는 1개 이상이다.
@Autowired(required=false)일때 Bean의 갯수는 0개 이상이다.
반대로 조건이 맞지 않다면 예외가 발생한다.
(4) @Autowired 적용하기
[4] 객체 자동 연결@Resource
(1) @Resource 특징
스프링 컨테이너인 map에 저장된 객체의 iv 중에 @Resource가 붙어 있으면
map에서 iv의 이름(byName)에 맞는 객체를 찾아서 객체의 주소를 iv에 저장하여 연결한다
by Name 으로 찾아서 key를 통해 value 를 찾아서 연결하는것
(2)@Resource 사용법
- 인스턴스 변수형에 사용하기
- 생략이 가능하다
- 이름을 설정할수 있다
(3) @Resource 예외발생
일치하는 이름의 bean이 없으면 예외가 발생한다.
(4) @Resource 적용하기
[5] 객체 자동 등록 및 연결 연습
반응형
LIST
'🌈 백엔드 > 스프링 프레임워크' 카테고리의 다른 글
자바 빈 Bean (0) | 2023.09.04 |
---|---|
스프링_외부파일 XML의 <property> (0) | 2023.09.01 |
객체컨테이너 + 객체자동등록 @Component (0) | 2023.09.01 |
ApplicationContext 객체 컨테이너 생성하기 (0) | 2023.09.01 |
스프링_외부파일 properties 연결 (feat, @Value) (0) | 2023.09.01 |