Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- JWT
- 생성자 주입
- WEB SOCKET
- 패스트캠퍼스
- emqx
- 시큐리티
- 스프링의 정석
- JavaScript
- docker
- 스웨거
- 쇼트유알엘
- 데이터베이스
- CentOS
- 프로그래머스
- visualvm
- MYSQL
- EC2
- Kafka
- 남궁성과 끝까지 간다
- java
- 카프카
- DB
- Spring
- 개인프로젝트
- 웹개발
- Spring Security
- AWS
- 스파르타코딩클럽
- 항해99
- @jsonproperty
Archives
- Today
- Total
Nellie's Blog
[섹션3][DI] 14강 자동 주입 본문
728x90
14. 자동 주입
지금까지 Bean을 정의할 때 주입할 객체는 생성자를 통한 주입이나 setter를 통한 주입을 사용했다.
스프링에서는 객체를 주입할 때 자동으로 주입될 수 있도록 설정할 수 있는데,
이름, 타입, 생성자를 통해 가능하며 이것을 auto wire라고 한다.
기본자료형(정수, 실수, 문자열)은 자동주입이 불가능하며 기존의 방식으로 주입해야 한다. 자동주입은 객체만 가능하다.
1) 이름을 통한 주입
xml파일에 id값을 지정해주면 , 변수에 바로 넣는게 아니고 setter메소드를 호출하여 주입해준다.
일반주입과 이름을 통한 자동주입을 비교해보자.
2) 타입을 통한 주입
타입을 통한 자동주입은 , 타입만 같으면 무조건 주입하기 때문에 id값은 생략 가능하다.
3) 생성자를 통한 주입
이렇게 xml파일에 생성자의 매개변수 타입과 정의된 빈의 타입이 일치할 경우 , autowire='constructor' 를 사용하여 생성자자동주입을 할 수 있다 (?)
이때, 객체가 아닌 정수값이나 문자열은 자동 주입이 안되기 때문에 아래처럼 직접 정의 해 줘야 한다.
이때 디폴트 값으로 byName을 지정하고 싶으면 default-autowire="byName" 을 지정해준다.
디폴트 값을 무시하고 싶다면, autowire='no' 를 적어주자.
출처 : [인프런]윤재성의 스프링 프레임워크 개발자를 위한 실습을 통한 입문 과정
'IT 강의 정리 > 윤재성의 스프링 입문' 카테고리의 다른 글
[섹션4][Annotation] 16강~19강 init, destroy 메서드/ 주입/ 어노테이션을 이용한 빈 설정/ JSR-250어노테이션 (0) | 2022.10.12 |
---|---|
[섹션4][Annotation] 15강 Java코드를 활용한 Bean등록 (0) | 2022.10.11 |
[섹션3][DI] 13강 컬렉션 주입 (0) | 2022.10.10 |
[섹션3][DI] 11~12강 생성자를 통한 주입/ Setter메서드를 통한 주입 (0) | 2022.10.10 |
[섹션2][IoC] 07~10강 IoC컨테이너/ 빈 객체 생성하기/ 빈 객체의 생명주기/ BeanPostProcessor (0) | 2022.10.07 |