본문 바로가기

Keep It Simple, Stupid39

[Spring] Singleton / Prototype 스프링 빈 스코프 오브젝트가 생성되고, 적용되는 범위를 빈의 스코프(Scope)라고 한다. 스프링 빈의 기본 스코프는 싱글톤이다. 싱글톤 스코프는 강제제거하지 않는 한 스프링 컨테이너가 존재하는 동안 계속 유지된다. 경우에따라서 싱클톤 외의 스코프를 가질 수 있다. 프로토타입 스코프 요청 스코프 세션 스코프 등등... 이 중 스프링에서의 싱글톤과 프로토타입에 대해서 알아보자. 👩‍💻 Singleton https://ssyoni.tistory.com/9 스프링이 빈 스코프를 싱클톤으로 만드는 이유 스프링 싱글톤 스프링은 여러 번에 걸쳐 빈을 요청하더라도 매번 동일한 오브젝트를 돌려준다. getBean() 메서드를 실행할 때마다 매번 new에 의해 새로운 오브젝트를 생성하지 않는다는 뜻 도대체 ssyoni... 2022. 1. 17.
[Spring] 스프링이 빈 스코프를 싱클톤으로 만드는 이유 스프링 싱글톤 스프링은 여러 번에 걸쳐 빈을 요청하더라도 매번 동일한 오브젝트를 돌려준다. getBean() 메서드를 실행할 때마다 매번 new에 의해 새로운 오브젝트를 생성하지 않는다는 뜻 도대체 왜? 👩‍💻 싱글톤 레지스트리로서의 애플리케이션 컨텍스트 애플리케이션 컨텍스트? 싱글톤을 저장하고 관리하는 싱글톤 레지스트리이자 IoC 컨테이너이다. 스프링은 기본적으로 별다른 설정을 하지 않으면 생성하는 빈 오브젝트를 싱글톤으로 만든다. 💡 스프링이 빈을 싱글톤으로 만드는 이유 : 스프링이 주로 적용되는 대상이 자바 엔터프라이즈 기술을 사용하는 서버 환경이기 때문. 태생적으로 스프링은 엔터프라이즈 시스템을 위해 고안된 시스템. 실제로 대부분 스프링은 서버 환경에서 사용된다. 서버 하나당 브라우저나 여타 시스.. 2022. 1. 17.
[Spring] Bean 생명 주기 스프링 빈의 이벤트 라이프사이클 스프링 컨테이너 생성 → 스프링 빈 생성 → 의존관계 주입 → 초기화 콜백 → 사용 → 소멸 전 콜백 → 스프링 종료 초기화 콜백 : 빈이 생성되고, 의존관계 주입이 완료된 후 호출 소멸 전 콜백 : 스프링 컨테이너가 종료되어 소멸되거나, 빈이 소멸되기 직전에 호출 스프링은 3가지 방법으로 빈 생명주기 콜백을 지원한다. 인터페이스 (InitializingBean, DisposableBean) 설정 정보에 초기화 메서드, 종료 메서드 지정 어노테이션 지원 (@PostConstruct, @PreDestroy) 객체의 생성과 초기화의 분리란? 스프링 빈도 객체이기 때문에 초기화가 필요하다. 주로 인스턴스가 생성되는 시점에 어떤 작업을 할 때에는 대부분 생성자에서 이루어진다. 그.. 2022. 1. 17.
[모던자바인액션] 람다식과 함수형 인터페이스 람다 표현식은 어디에, 어떻게 사용할까? -> 함수형 인터페이스라는 문맥에서 사용할 수 있다. 함수형 인터페이스 람다식은 익명 클래스의 객체와 동등하다. 그렇다면 람다식으로 정의된 익명 객체의 메서드는 어떻게 호출할 것인가? 타입 f = (int a, int b) -> a>b?a:b; 먼저 참조 변수 f에 익명 객체를 저장해 보았다. 그렇다면 참조변수 f의 타입은 어떤 것이 와야 할까? 일단 참조 변수이기 때문에 클래스 또는 인터페이스가 가능하며 람다식과 동등한 메서드가 정의되어있어야 한다. 예를 들어 아래와 같이 정의된 인터페이스가 있다고 가정하자. interface MyFunction{ public abstract int max(int a, int b); } MyFunction 인터페이스를 구현한 익.. 2022. 1. 12.
[AWS] Security Group(보안그룹) Security Group : AWS 인스턴스에 대한 접근(Inbound)과, 인스턴스로부터의 접근(Outbound)에 대한 패킷을 포트 번호로 제어하기 위한 설정이다. 한 마디로 Security Group은 EC2 Instance의 방화벽 역할이다. 보안그룹 설정 범위 포트 접근 승인된 아이피 - IP4 & IP6 다른 인스턴스로부터의 인바운드 관리 해당 인스턴스에서 다른 인스턴스로의 아웃바운드 관리 보안그룹 특징 인스턴스와 보안그룹은 N:N 관계를 갖는다. 보안그룹은 EC2 외부에 있다. SSH 접근에 대해서 하나의 분리된 보안 그룹을 유지하는 것이 좋다. 모든 인바운드 트래픽은 기본적으로 차단된다. 모든 아웃바운드 트래픽은 기본적으로 승인된다. 2022. 1. 4.
[Spring] 빈 등록방법, 의존관계 자동주입, lombok 📍 빈 등록 Bean 객체를 등록하는 방법 XML Annotation JavaConfig XML 설정파일에 직접 빈을 등록할 시에는 빈의 성격을 구분하기가 힘들다 어플리케이션의 크기에 따라 빈의 양이 늘어나 관리가 힘들어진다 라는 단점이 있다. 때문에 스프링에서는 특정 클래스에 Annotation을 부여하여 클래스를 자동으로 찾아 빈을 등록해주는 빈 스캐닝 기능을 제공해준다. Annotation 으로 Bean 객체를 등록 @Component, Java Config 1. @Component / @ComponentScan (스프링 2.5.x) : 자기 자신부터 시작해서 하위 패키지를 스캔해서 @component 어노테이션(또는 이 어노테이션을 사용하는 다른 어노테이션)이 붙은 클래스를 찾아서 빈으로 등록한다.. 2021. 12. 25.
반응형