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
- 백준 17626
- 웹어플리케이션 서버
- 백준 19238
- spring security
- Kotlin
- 백준
- MSA
- springboot
- spring cloud
- Spring
- 백준 15685
- sql 기술면접
- 파이썬
- 백준 16236
- re.split
- 백준 16719
- 프로래머스
- java 기술면접
- Coroutine
- java
- Spring Boot
- with recursive
- JVM
- 백준 파이썬
- JPA
- 백준 17779
- spring oauth
- 백준 16235
- 프로그래머스
- MySQL
Archives
- Today
- Total
시작이 반
[Spring] 스프링 컨테이너 생성과정 본문
SMALL
1. 스프링 컨테이너 생성
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);
ApplicationContext를 스프링 컨테이너라고 한다.
new AnnotationConfigApplicationContext를 사용하여 어노테이션 기반으로 설정된 class를 기반으로 스프링 컨테이너를 만든다.
AppConfig는 객체를 생성하는 class이다.
어노테이션으로 configuration과 빈을 설정해준다.
@Configuration
public class AppConfig {
@Bean
public MemberService memberService(){
return new MemberServiceImpl(memberRepository());
}
@Bean
public MemoryMemberRepository memberRepository() {
return new MemoryMemberRepository();
}
@Bean
public OrderService orderService(){
return new OrderServiceImpl(memberRepository(), discountPolicy());
}
@Bean
public DiscountPolicy discountPolicy(){
// return new FixDiscountPolicy();
return new RateDiscountPolicy();
}
}
이렇게 하면 AppConfig를 구성정보로 스프링 컨테이너가 생성이된다.
2. 스프링 빈 등록
설정 클래스 즉, AppConfig의 정보를 사용하여 빈을 컨테이너에 등록한다.
메소드 명으로 빈의 이름이 등록되고 리턴값으로 빈의 객체가 등록된다.
3. 스프링 빈 의존관계 설정
등록된 빈들을 가지고 설정정보를 참고하여 의존관계를 주입한다.
LIST
'Programming > Spring' 카테고리의 다른 글
[Spring] 의존관계 주입 방법 (0) | 2021.05.13 |
---|---|
[Spring] 컴포넌트 스캔, @Autowired (0) | 2021.05.13 |
[Spring] dependencies (mysql, lombok, data-jpa) (0) | 2021.02.24 |
Thymeleaf application.properties 값 조회 (0) | 2021.02.22 |
Thymeleaf 자바스크립트 함수 사용 (0) | 2021.02.21 |