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
- timezone error
- 프레임워크
- IoC 컨테이너
- 강화학습
- 딥러닝
- database error
- 노션 Formula
- express
- krpano
- Dependency Injection
- 강좌 정리
- aop
- 지도학습
- 스프링 빈
- 비지도학습
- 스프링
- syncronized
- @Autowired
- 노드
- 노션
- express-generator
- 스프링 프레임워크
- 의존성주입
- 백기선 강좌
- Do It 정직하게 코딩하며 배우는 딥러닝 입문
- jetbrains
- PSA
- 기계학습
- Proxy 패턴
- 스프링부트 에러
Archives
- Today
- Total
hyungmuk's blog
스프링 입문 강좌 정리 - IoC 컨테이너 본문
IoC 컨테이너 역할
- 빈을 만든다.
- 빈들 사이의 의존성을 엮어준다
- 컨테이너가 가지고 있는 빈을 제공한다.
인텔리제이 IDE에서 클래스 왼쪽에 녹색 콩 표시가 있으면 빈으로 등록된 것이다.
의존성 주입은 빈 끼리만 가능하다. 즉, IoC 컨테이너에 들어있는 객체들 끼리만 의존성 주입을 해준다.
빈을 가지고 오는 방법
@Autowired
ApplicationContext applicationContext;
@Test
public void getBean() {
applicationContext.getBeanDefinitionNames()
}
applicationContext 안에 모든 빈들이 들어 있다.
.getBeanDefinitionNames() 메소드는 모든 빈들의 이름을 가져온다.
.getBean(s:"빈이름") 은 빈 이름에 해당하는 빈을 가져온다.
또한 빈을 특정 인터페이스의 타입으로도 가져올 수 있다.
applicationContext.getBean(클래스이름.class)
위 예제는 applicationContext가 가지고 있던 OwnerController 인스턴스의 해시값을 가지고 온다.
@ResponseBody는 return 문자열 자체가 응답의 본문이 되도록 해주는 어노테이션이다.
하지만 applicationContext을 직접 사용해서 빈을 불러오는 일은 거의 없다.
이렇게 자동으로 주입 받아서 사용할 수 있기 때문이다.
IoC 컨테이너의 이런 빈 객체를 싱글톤 스코프 객체라고 부른다.
싱글톤 스코프
- 어떤 인스턴스 객체 하나를 애플리케이션 전반에서 계속해서 재사용 하는 것 이다.
- 싱글톤 스코프 객체 구현은 굉장히 번거롭고 조심스러운 일인데 이렇게 IoC 컨테이너를 이용하면 굉장히 편하게 싱글톤 스코프를 달성할 수 있다.
https://www.youtube.com/watch?v=NOAajiABq6A&list=PLfI752FpVCS8_5t29DWnsrL9NudvKDAKY&index=6
'개발 & 공부 > 스프링' 카테고리의 다른 글
스프링 입문강좌 정리 - PSA (0) | 2020.03.28 |
---|---|
스프링 입문강좌 정리 - AOP 애노테이션 (0) | 2020.03.27 |
스프링 입문강좌 정리 - AOP (0) | 2020.03.24 |
스프링 입문 강좌 정리 - 의존성 주입(Dependency Injection) (0) | 2020.03.20 |
스프링 입문 강좌 정리 - 빈 (Bean) (0) | 2020.03.19 |