728x90
반응형
싱글톤 패턴
싱글톤 패턴 : 클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴
private 생성자를 사용하여 외부에서 임의로 new 키워드를 사용하지 못하도록 막는다.
public class SingletonService {
private static final SingletonService instance = new SingletonService();
// 객체 인스턴스가 필요하면 이 메서드를 통해서만 조회 가능
// 호출시 항상 같은 인스턴스 반환
public static SingletonService getInstance() {
return instance;
}
private SingletonService() { // 외부에서 new 생성 불가
}
public void logic() {
System.out.println("싱글톤 객체 로직 호출");
}
}
public class SingletonTest {
@Test
@DisplayName("싱글톤 패턴을 적용한 객체 사용")
void singletonServiceTest() {
SingletonService singletonService1 = SingletonService.getInstance();
SingletonService singletonService2 = SingletonService.getInstance();
// 같은 인스터스
System.out.println("singletonService1 = " + singletonService1);
System.out.println("singletonService2 = " + singletonService2);
Assertions.assertThat(singletonService1).isSameAs(singletonService2);
}
}
결과
고객의 요청이 올 때마다 이미 만들어진 객체를 공유해서 효율적응로 사용할 수 있다.
인프런 강의 "스프링 핵심 원리 - 기본편"을 정리한 것 입니다.
스프링 핵심 원리 - 기본편 - 인프런 | 강의
스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런...
www.inflearn.com
728x90
반응형
'스프링 Spring > 스프링 핵심 원리 - 기본편' 카테고리의 다른 글
[싱글톤 컨테이너] 싱글톤 방식의 주의점 (0) | 2022.02.06 |
---|---|
[싱글톤 컨테이너] 싱글톤 컨테이너 (0) | 2022.02.05 |
[싱글톤 컨테이너] 웹 애플리케이션과 싱글톤 (0) | 2022.02.05 |
[스프링 컨테이너와 스프링 빈] 스프링 빈 설정 메타 정보 - BeanDefinition (0) | 2022.02.05 |
[스프링 컨테이너와 스프링 빈] 다양한 설정 형식 지원 - 자바 코드, XML (0) | 2022.02.04 |
댓글