bean scope yana sarrafa yawan misalan da container ke ƙirƙira da tsawon rayuwarsu. Lifecycle callbacks suna barin ka gudanar da code nan da nan bayan an gina bean da kuma kafin a lalata shi.
bean scope yana sarrafa yawan misalan da container ke ƙirƙira da tsawon rayuwarsu. Lifecycle callbacks suna barin ka gudanar da code nan da nan bayan an gina bean da kuma kafin a lalata shi.
@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 { }
Tarkon gargajiya: injecting prototype cikin singleton. An haɗa singleton sau ɗaya, don haka yana riƙe da misalin prototype guda har abada — alkawarin "sabo kowane lokaci" ya karye. Gyara shi da @Lookup, wani ObjectProvider<ReportBuilder>, ko 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 */ }
}
Muhimmi: Spring ba ya kiran @PreDestroy a kan prototype beans — yana ba da su sannan ya daina bin su, don haka kai ka mallaki tsaftar su.
Wannan yana raba mutanen da ke ɗaukar Spring a matsayin sihiri daga waɗanda suka fahimci container. Bug ɗin singleton-mai-riƙe-prototype yanayi ne da ake so a hira saboda yana da dabara kuma yana haddasa bugs na samarwa na gaske. Sanin cewa singletons dole su zama marasa yanayi da amintattu ga thread (ana rabawa a tsakanin dukan request threads) shi ne darasi mai amfani da masu tambayoyin hira ke saurara.
Ɗakin karatu na tambayoyin hira na IT tare da amsoshi cikakke — daga Junior zuwa Senior.
Ba da Gudummawa