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 |
Tags
- hibernate
- 링킹
- IOC
- 프록시
- java
- Immutable
- lambda
- String
- AutoConfiguration
- 컴퓨터시스템
- beanfactory
- Kotlin for Java Developers
- 링커
- 토비의스프링3.1
- gradle
- ORM
- 클린코드
- springboot
- 토비의스프링
- FunctionalInterfaces
- DispatcherServlet
- 빌드툴
- Spring
- 메이븐
- 자바
- springwebmvc
- ApplicationContext
- DesignPattern
- JPA
- exception
Archives
- Today
- Total
엔지니어로 가는 길
스프링 애플리케이션의 동작 방식 본문
728x90
스프링 애플리케이션의 동작 방식
스프링 IoC 컨테이너는 빈(Bean) 설정 메타정보를 이용하여 빈 객체(Object)를 만들고 DI(Dependency Injection) 작업을 수행한다. 하지만 이것만으로는 애플리케이션 동작하지 않는다. 자바 애플리케이션의 main() 메소드처럼 어디에선가 특정 빈 오브젝트의 메소드를 호출함으로써 애플리케이션을 동작시켜야 한다.
즉, 적어도 한 번은 위의 예와 같이 IoC 컨테이너에게 요청하여 빈 객체를 가져와야 하는데, 이때는 반드시 getBean()이라는 메소드를 사용해야 한다. 그러나 그 이후로는 다시 getBean()으로 빈 객체를 가져올 필요가 없다. 빈 객체들끼리 DI로 서로 연결되어 있으므로 의존관계를 타고 필요한 객체가 호출되면서 애플리케이션이 동작하기 때문이다. hello.print() 메소드를 실행했다면 더 이상 컨테이너의 도움 없이도 컨테이너 안에 구성된 빈 객체에 의해 애플리케이션이 동작한다. IoC 컨테이너의 역할은 이렇게 초기에 빈 오브젝트를 생성하고 DI 한 후에 최초로 애플리케이션을 기동할 빈 하나를 제공해주는 것까지다.
728x90
'프로그래밍 > Spring' 카테고리의 다른 글
@ModelAttribute도 Formatter가 필요할까 (0) | 2020.08.25 |
---|---|
웹 환경에서 스프링 애플리케이션의 동작 방식 (0) | 2020.07.06 |
스프링의 IoC 컨테이너: BeanFactory와 ApplicationContext (0) | 2020.04.17 |
스프링 프레임워크란 (0) | 2020.04.14 |
BeanFactory vs ApplicationContext (0) | 2020.03.20 |
Comments