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
- 넥사크로loadingimage
- 톰캣실행
- DB #데이터베이스
- HTML
- 로딩이미지변경
- loadingimage
- annotaion
- WITH절
- singleton container
- frontend
- aws
- 싱글톤컨테이너
- setrealrowsize
- 싱글톤
- decoratetext
- Grid
- react
- singleton
- flex-grow
- 스프링 빈
- cron표현식
- gif초기화
- CSS
- Spring
- 마진상쇄
- BEAN
- 넥사크로
- 빈
- 코딩
- flex-basis
Archives
- Today
- Total
All Day Tired
싱글톤, 싱글톤 컨테이너 본문
싱글톤 등장한 이유
- 애플리케이션은 여러 사용자의 요청이 동시에 들어옴
- 여러 사용자가 요청을 할 때마다 객체를 새로 생성한다면 낭비가 심함
- 그래서 등장한 것이 싱글톤 패턴
싱글톤 패턴
- 클래스의 인스턴스(쉽게 생각하자면 new를 한 것)가 딱 1개만 생성
- 위 처럼 여러 사용자가 요청을 동시에 할 때 인스턴스를 하나만 생성하고 이걸 공유함
싱글톤 구현 예제
public class Singleton {
private static Singleton singletonObject;
private Singleton() {//private생성자로 new를 못하게 막음
}
public static Singleton getInstance() {//getInstance()를 통해서만 인스턴스를 가져올 수 있음
if (singletonObject == null) {
singletonObject = new Singleton();
}
return singletonObject;
}
}
그래서 이 싱글톤이 스프링과 어떤 연관이 있나?
싱글톤 컨테이너
- 스프링 컨테이너는 싱글톤 패턴을 적용하지 않아도 알아서 객체 인스턴스를 싱글톤으로 관리함
- 스프링 컨테이너는 객체를 하나만 생성해서 관리(빈으로 등록한 것들이 하나씩만 있음)
- 따라서 스프링 컨테이너는 싱글톤 컨테이너 역할을 함
싱글톤 주의점
- 싱글톤 객체는 무상태(sateless)로 설계해야 함
- ex) 싱글톤 객체를 무상태로 설계하지 않았을 때 발생하는 예시로는 은행 어플에 들어갔는데 내 계좌 잔액이 아닌 다른 사람의 잔액이 보이는 경우 등
- 인스턴스의 필드가 공유되면 이러한 문제가 발생
'Back > Spring' 카테고리의 다른 글
@Configuration(feat.싱글톤) (0) | 2025.01.02 |
---|---|
스프링컨테이너, 스프링빈 등록/주입 (0) | 2024.12.30 |
@Scheduler, cron표현식 사용 (0) | 2024.10.27 |
스프링 빈 등록 (0) | 2024.09.23 |
스프링에서 RestTemplate 예제 (0) | 2024.08.20 |
Comments