본문 바로가기

프레임워크36

[Spring] 로그 추적기 프로토타입 개발 김영한의 스프링 고급 강의를 복습하기 위해 HelloTraceV1 import hello.advanced.trace.TraceId; import hello.advanced.trace.TraceStatus; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @Slf4j @Component public class HelloTraceV1 { private static final String START_PREFIX = "-->"; private static final String COMPLETE_PREFIX = " 2022. 10. 31.
@Resource vs @Autowired vs @Inject @Resource 어노테이션이란? @Autowired와 같은 역할을 한다고 보면된다. @Resource 어노테이션은 빈의 이름을 이용해서 주입할 객체를 검색한다. @Resource 어노테이션을 사용하려면 앞서 @Autowired 어노테이션과 마찬가지로 다음의 두가지만 추가하면된다. 자동 주입 대상에 @Resource 어노테이션 사용 XML설정에 설정 추가 @Resource 어노테이션은 빈의 이름을 사용해서 주입할 빈 객체를 찾기 때문에, @Resource 어노테이션의 값으로 빈 객체의 이름을 지정한다. @Autowired와 @Resource, @Inject의 차이점 1. @Autowired : 타입(클래스)로 Bean을 지정한다.(생성자/필드/메서드에 모두 적용 가능) 2. @Resource : Name.. 2022. 10. 27.
[Spring] 웹 스코프 웹 스코프의 특징 웹 스코프는 웹 환경에서만 동작한다. 웹 스코프는 프로토타입과 다르게 스프링이 해당 스코프의 종료시점까지 관리한다. 따라서 종료 메서드가 호출된다. 스코프 종류 request: HTTP 요청 하나가 들어오고 나갈 때 까지 유지되는 스코프, 각각의 HTTP 요청마다 별도의 빈 인스턴스가 생성되고, 관리된다. session: HTTP Session과 동일한 생명주기를 가지는 스코프 application: 서블릿 컨텍스트( ServletContext )와 동일한 생명주기를 가지는 스코프 websocket: 웹 소켓과 동일한 생명주기를 가지는 스코프 MyLogger package hello.core.common; import org.springframework.context.annotation.. 2022. 10. 26.
[Spring] 빈 스코프 - 싱글톤 빈, 프로토타입 스코프 빈 스코프란?스코프는 번역 그대로 빈이 존재할 수 있는 범위를 뜻한다. 스프링 빈은 기본적으로 싱글톤 스코프로 생성됨스프링은 다음과 같은 다양한 스코프를 지원한다 싱글톤: 기본 스코프, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프이다.프로토타입: 스프링 컨테이너는 프로토타입 빈의 생성과 의존관계 주입까지만 관여하고 더는 관리하지 않는 매우 짧은 범위의 스코프이다웹 관련 스코프request: 웹 요청이 들어오고 나갈때 까지 유지되는 스코프이다.session: 웹 세션이 생성되고 종료될 때 까지 유지되는 스코프이다.application: 웹의 서블릿 컨텍스트와 같은 범위로 유지되는 스코프이다. 컴포넌트 스캔 자동 등록@Scope("prototype")@Componentpublic cl.. 2022. 10. 25.