반응형
김영한 강사님의 스프링 강의를 보던 중 Singleton, Prototype 에 대한 내용이 나온 적이 있다.
ServiceController
@Controller
public class ServiceController {
private final ApplicationContext context;
@Autowired
public ServiceController(ApplicationContext context) {
this.context = context;
}
@GetMapping("/")
public String getServiceHashes(Model model) {
SingletonService singletonService = context.getBean(SingletonService.class);
PrototypeService prototypeService = context.getBean(PrototypeService.class);
model.addAttribute("singletonHash", singletonService.getMessage());
model.addAttribute("prototypeHash", prototypeService.getMessage());
return "hashes";
}
}
PrototypeService
@Service
@Scope("prototype")
public class PrototypeService {
public String getMessage() {
return "Prototype instance hash: " + System.identityHashCode(this);
}
}
SingletonService
@Service
public class SingletonService {
public String getMessage() {
return "Singleton instance hash: " + System.identityHashCode(this);
}
}
까지 작성을 하고 실행을 시키면
같은 결과 값이 뜨는데
새로고침을 해보면
Singleton bean 값은 그대로지만
Prototype bean 값은 변화하는 것을 확인할 수 있다.
+) 공부 예정
반응형
'개발 ━━━━━ > Spring(boot)' 카테고리의 다른 글
[Spring] PDFBox 로 텍스트 추출시 null 값이 추출될 때 (0) | 2024.10.10 |
---|---|
[Spring] 이전 데이터를 불러올때 stream문과 for문의 성능 차이 테스트 - 1 (0) | 2023.11.18 |
[Spring] WebSocket 을 이용한 채팅 구현 (0) | 2023.10.09 |
[Spring] Entity 관계 (0) | 2023.09.02 |
[Spring] Filter (0) | 2023.09.01 |