Bean scope ngontrol pira akeh instansi sing digawe container lan sepira suwene urip. Callback siklus urip ngidini kowe mlayokake kode pas sawise sawijining bean disusun lan pas sadurunge iku dirusak.
Bean scope ngontrol pira akeh instansi sing digawe container lan sepira suwene urip. Callback siklus urip ngidini kowe mlayokake kode pas sawise sawijining bean disusun lan pas sadurunge iku dirusak.
@Service // singleton by default — one shared OrderService for the whole app
public class OrderService { }
@Component
@Scope("prototype") // fresh instance on every getBean/inject
public class ReportBuilder { }
Jebakan klasik: nyuntik prototype menyang singleton. Singleton dikabel sepisan, mula iku njaga siji instansi prototype ing salawase — janji "anyar saben wektu" rusak. Benerake nganggo @Lookup, ObjectProvider<ReportBuilder>, utawa scoped-proxy.
@Component
public class ConnectionPool {
@PostConstruct // runs after dependencies are injected, before use
public void open() { /* open sockets, warm caches */ }
@PreDestroy // runs on graceful container shutdown (singletons only)
public void close() { /* release resources */ }
}
Penting: Spring ora nyeluk @PreDestroy ing bean prototype — iku nyerahake lan mandheg nglacak, mula kowe sing nduweni resik-resike.
Iki misahake wong sing nganggep Spring minangka sihir karo wong sing ngerti container. Bug singleton-nyekel-prototype iku skenario wawancara favorit amarga iku alus lan nyebabake bug produksi nyata. Ngerti yen singleton kudu stateless lan thread-safe (dienggo bareng ing kabeh thread request) iku pesen praktis sing dirungokake pewawancara.
Pustaka pitakon wawancara IT kanthi jawaban rinci — saka Junior nganti Senior.
Nyumbang