Singleton

· Spring
스프링 컨테이너는 빈 객체를 한 개만 생성합니다. 과연 그런지 한번 코드를 통해 알아볼까요? public class Main { public static void main(String[] args) { //1. 컨테이너 초기화 AbstractApplicationContext ctx = new AnnotationConfigApplicationContext(AppCtx3.class); //2. 빈 객체 로드 후, 사용하기 Client client = ctx.getBean(Client.class); Client client2 = ctx.getBean(Client.class); System.out.println("두 개의 객체가 같을까 ? : " + (client == client2)); client.send(..
· Spring
웹 스코프의 특징 웹 스코프는 웹 환경에서만 동작 웹 스코프는 프로토타입과 다르게 스프링이 해당 스코프의 종료시점까지 관리한다. 종료 메서드가 호출 된다. 웹 스코프 종류 request HTTP 요청 하나가 들어오고 나갈 때까지 유지되는 스코프, 각각의 HTTP 요청마다 별도의 빈 인스턴스가 생성되고 관리된다. Session HTTP Session과 동일한 생명주기를 가지는 스코프 application 서블릿 컨텍스트( ServletContext ) 와 동일한 생명주기를 가지는 스코프 websocket 웹 소켓과 동일한 생명주기를 가지는 스코프 HTTP request 요청 당 각각 할당되는 request 스코프 request 스코프의 동작 방식에 대해 간략히 알아보았다. 하지만 request 스코프는 실..
· Spring
본 포스팅은 학습용으로, 김영한 님의 강의를 바탕으로 복습용도로 작성되었습니다. 선행 게시물 [Spring] 싱글톤 컨테이너 [Spring] 싱글톤 컨테이너 본 포스팅은 학습용으로, 김영한 님의 강의를 바탕으로 복습용도로 작성되었습니다. 웹 애플리케이션과 싱글톤 스프링은 태생이 기업용 온라인 서비스 기술을 지원하기 위해 탄생 대부분의 스 muscleking3426.tistory.com 싱글톤 방식의 주의점 싱글톤 패턴, 스프링의 싱글톤 컨테이너 등 객체 인스턴스를 하나만 생성해서 공유하는 싱글톤 방식은 여러 클라이언트가 하나의 같은 객체 인스턴스를 공유하기 때문에 싱글톤 객체는 상태를 유지하게 설계하면 안 된다. → stateless 무상태로 설계해야 한다. 특정 클라이언트에 의존적인 필드가 존재하면 안..
· Spring
본 포스팅은 학습용으로, 김영한 님의 강의를 바탕으로 복습용도로 작성되었습니다. 웹 애플리케이션과 싱글톤 스프링은 태생이 기업용 온라인 서비스 기술을 지원하기 위해 탄생 대부분의 스프링 애플리케이션은 웹 애플리케이션 → 물론 웹 아닌 애플리케이션도 개발 가능 웹 애플리케이션은 보통 여러 고객이 동시에 요청 순수 DI 컨테이너 테스트 SingletonTest public class SingletonTest { @Test @DisplayName("스프링 없는 순수한 DI 컨테이너") void pureContainer() { AppConfig appConfig = new AppConfig(); //1. 조회 : 호출 할 때 마다 객체 생성 MemberService memberService1 = appConfi..
· Java
💡Singleton pattern 어떠한 클래스(객체)가 유일하게 1개만 존재할 때 사용한다. 주로 사용하는 곳 서로 자원을 공유할 때 실물 세계에선 프린터에 해당 프로그래밍에선 TCP Socket 통신에서 서버와 연결된 connect 객체에 주로 사용한다. 💡 싱글톤 패턴을 사용한 경우 👩🏻‍💻 Code SocketClient 의 인스턴스를 2개 생성했을 때, 생성된 2개의 객체가 같은 지 비교 SocketClient public class SocketClient { private static SocketClient socketClient = null; private SocketClient(){ //디폴트생성자인경우 } public static SocketClient getInstance(){ if(s..
runnnerDevHong
'Singleton' 태그의 글 목록