Devo ammettere che sono un principiante di primavera, ma puoi correggermi se sbaglio, questa fodera sembra un po 'squallida in un modo pratico:
@RepositoryRestResource(collectionResourceRel="people"...)
public interface PersonRepository
extends PagingAndSortingRepository<Person, Long>
Per coloro che non sono consapevoli, ciò che segue fa molte cose: è una definizione di interfaccia che può essere registrata in un contesto applicativo come un repository jpa, agganciando automaticamente tutte le operazioni CRUD predefinite all'interno di un contesto di persistenza (che è configurato esternamente ). e configura anche la funzionalità di default controller / richiesta-mappatura / gestore nello spazio dei nomi "/ persone" relativa alla mappatura servlet del dispatcher configurato.
Ecco il mio punto. Ho appena attraversato 3 livelli concettuali con una riga di codice! questo è contro il mio istinto di separazione, ma volevo sentire la tua opinione. E per il piacere di trovarmi in un sito di domande e risposte, vorrei sapere se esiste un modo migliore per separare questi diversi livelli: servizio, dati, controllori, pur mantenendo la configurazione minima possibile