Ciao. Direi che l'approccio e' da manuale, in spring per default tutti i bean hanno scopo singleton: la premessa importante da capire è che essendo singleton devono essere stateless. Perchè hai dei dubbi sul Repository? Direi che visto che possono essere visti come dei DAO anche loro dovrebbero essere stateless.
Lo stereotipo @Repository mi pare che aggiunga degli aspetti per fare il translate delle sottostanti sql exceptions e ti permetta di iniettare un PersistenceContext o un EntityManager se dovessi averne bisogno (ripeto mi pare e su questo sto andando a braccio). Secondo me quindi tutto corretto ;) P.S. I servizi Rest li stai annotando con @Controller? lo stereotipo dedicato è @RestController. 2018-02-16 11:12 GMT+01:00 Danilo Boi [email protected] [it-torino-java-jug] <[email protected]>: > > > Ciao A tutti . > Grazie per aver accettato la richiesta. > Mi sto occupando di programmazione java specificatamente , al momento , su > Spring MVC. > Sto sviluppando dei servizi Rest .. > In particolare la Parte ORM la sto gestendo con spring-mybatis > Lasciando fare a spring la factory dei mapper > > Mentre per il layer di controllo sto seguendo l’approccio di alcuni esempi > che ho trovato in rete e cioè > > Un oggetto controller annotato con @Controller > Vari oggetti di servizio (Business logic) annotati come @Service > Oggetti di manager dei mapper MyBatis annotati come @Repository > > All’interno di questo oggetto eseguo del > @Controller eseguo @Autowired degli oggetti @Service > Negli oggetti @Service eseguo @Autowired degli oggetti @Repository > Che a loro volta iniettano i mapper MyBatis. > > Il dubbio che mi attanaglia da qualche giorno è che Spring > All’avvio istanzia il @Controller con un riferimento a n @Service > Questi a loro volta saranno “Singleton” che a loro volta iniettano > Gli oggetti @Repository che a loro volta iniettano i mapper MyBatis. > > Da quello che ho capito mi trovo in una situazione in cui tutti gli > oggetti > sono “Singleton” e questo può andarmi bene per il @controller e forse > anche > per il @Service ma mi intimorisce per il layer @Repository. > > Ho sbagliato l’approccio ? > Scusate e grazie . > Ciao. > > > -- Massimo Ugues
