Rialaíonn bean scope cé mhéad sampla a chruthaíonn an coimeádán agus cé chomh fada is a mhaireann siad. Ligeann na lifecycle callbacks duit cód a rith díreach tar éis bean a thógáil agus díreach sula scriostar é.
Rialaíonn bean scope cé mhéad sampla a chruthaíonn an coimeádán agus cé chomh fada is a mhaireann siad. Ligeann na lifecycle callbacks duit cód a rith díreach tar éis bean a thógáil agus díreach sula scriostar é.
@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 { }
An gaiste clasaiceach: prototype a instealladh isteach i singleton. Nasctar an singleton uair amháin, agus mar sin coinníonn sé aon sampla prototype amháin go deo — briseann an gealltanas "nua gach uair". Deisigh é le @Lookup, ObjectProvider<ReportBuilder>, nó 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 */ }
}
Tábhachtach: ní ghlaonn Spring @PreDestroy ar beans prototype — tugann sé uaidh iad agus stopann sé á rianú, mar sin is tusa atá freagrach as a nglanadh.
Scarann sé seo daoine a chaitheann le Spring mar dhraíocht ó na daoine a thuigeann an coimeádán. Is cás agallaimh is fearr leo é an fabht singleton-a-choinníonn-prototype toisc go bhfuil sé fánach agus go gcruthaíonn sé fíorfhabhtanna táirgeachta. Is é an t-eolas nach mór do singletons a bheith gan stádas agus sábháilte ó thaobh snáithe de (roinntear iad ar fud na snáitheanna iarratais go léir) an phríomhcheacht phraiticiúil a mbíonn agallóirí ag éisteacht léi.
Leabharlann de cheisteanna agallaimh TF le freagraí mionsonraithe — ó Shóisearach go Sinsearach.
Síntiús