Tutoriel JSF, Spring et Hibernate
Bonjour,
Pour créer un de mes projets j'ai adopté la même architecture que celle du tutoriel de Alexis Hassler. Donc avec les 3 paquets model, service et web, à la seule différence que dans le paquet service, j'ai bien sur ajouté d'autres fonctions lesquelles sont en liaison avec la base de données, comme par exemple pour ma classe Client :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| public interface ClientService {
List<Client> findAll();
Client findById(Long id);
Client findByNumero(String numero);
void save(Client client);
void delete(Client client);
BigDecimal getClientSequence();
List<Client> findMultiCriteria(String nom, String prenom, String cin);
} |
Le problème est que parfois, dans les fonctions de mes Beans managés je suis amené à faire appel à des services métiers comme c'est le cas dans cet exemple pour mon Bean "DemandeBean".
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| public void ajoutDemande() {
// -------- Récupération du client et produit relatifs à la demande
Client client = clientService.findByNumero(this.client.getNumero());
Produit produit = produitService.findByLibelle(this.produit
.getLibelle());
// --------- Récupération du l'utilisateur gérant la demande
@SuppressWarnings("static-access")
AuthentificationBean authentificationBean = (AuthentificationBean) JsfUtil
.getInstance().getHttpSession()
.getAttribute("authentificationBean");
String login = authentificationBean.getLogin();
String password = authentificationBean.getPassword();
Utilisateur utilisateur = utilisateurService.findByLoginAndPassword(
login, password);
// ------- Insertion de la demande
if (client != null && produit != null && utilisateur != null) {
demande.setClient(client);
demande.setUtilisateur(utilisateur);
demande.setProduit(produit);
demandeService.save(demande);
}
} |
Je me demandais si c’était vraiment une façon propre de faire la chose ? Si ajouter une autre couche aurait été une bonne idée ?
Merci d'avance pour votre aide.