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 |
Tags
- Django
- 프로그래머스
- mock server
- API
- numpy
- Comprehension
- self
- Postman
- 백엔드 인턴십
- EC2
- 람다함수
- 클래스
- 파이써닉코드
- cerbot
- 컴프리헨션
- yaml
- 토이프로젝트
- 파이썬
- todo project
- 집계함수
- spring boot
- 행렬곱
- 조건연산
- 프리온보딩
- 코딩테스트
- sqlalchemy
- Jar배포
- 함수
- RDS
- PYTHON
Archives
- Today
- Total
build my life
[Spring] 스프링 컨테이너 본문
728x90
스프링 컨테이너 생성
- ApplicationContext = 스프링 컨테이너 = 인터페이스
- xml로 만들 수 있고 어노테이션 기반 자바 설정 클래스(ex.AppConfig)로 만들 수 있음
// 스프링 컨테이너 생성
ApplicationContext ac = new AnnotationConfigApplicationContext(ExConfig.class);
- 여기서 ExConfig.class가 스프링 컨테이너를 구성하는 구성 정보
- 파라미터로 넘어온 구성 클래스 정보를 사용해서 스프링 빈 등록
- 빈 이름은 직접 등록해서 사용할 수 있음(Default : 메서드이름)
- 빈 이름은 항상 다른 이름을 부여해야함
예시
AppConfig
@Configuration
public class AppConfig {
@Bean
public MemberService memberService() {
return new MemberServiceImpl(memberRepository());
}
@Bean
public MemberRepository memberRepository() {
return new MemoryMemberRepository();
}
@Configuration
: 설정 클래스 파일에 붙이는 어노테이션, 자동으로 클래스를 빈으로 등록해줌@Bean
: 스프링 컨테이너에 빈으로 등록하는 어노테이션
@Bean
을 사용하려면 @Configuration
과 함께 사용해야지 싱글톤을 보장할 수 있다.
싱글톤(Singleton)
- 여러 고객이 동시에 요청을 할 경우 객체가 요청에 따라 여러개 생성이 된다.
- 객체가 여러개 생성이 되면 메모리 낭비가 심하다.
- 해당 객체가 딱 1개만 생성되고 공유되도록 설계 => 싱글톤 패턴
728x90
'Spring' 카테고리의 다른 글
스코프와 프록시 (0) | 2023.07.14 |
---|---|
웹 스코프 (0) | 2023.07.14 |
[Spring] 의존 관계 주입 방법 (0) | 2023.06.14 |
[Spring] AppConfig를 통한 의존관계 주입 (0) | 2023.06.02 |
[Spring Boot] Spring Initializr (0) | 2023.04.07 |