Tester
Notre application est prête à être testée. La classe principale composée de la méthode main()
est très classique.
@SpringBootApplication
@RestController
public class BankAccountApplication {
public static void main(String[] args) {
SpringApplication.run(BankAccountApplication.class, args);
}
@GetMapping
public String hello() {
return "Welcome to Bank Account";
}
}
Lancer notre application
Il suffit de lancer le programme Java via Run As -> Java Application
. Un serveur accessible à l'adresse suivant localhost:8081
est déployé.
Création automatique de la table
Lorsqu'on lance le serveur, Spring va nous créer les tables relatives au compte bancaire, à la balance et aux transaction. On retrouve la log suivante
Hibernate:
create table account (
id bigserial not null,
account_type varchar(255),
created_at timestamp,
customer_id int8,
name varchar(255),
balancejpaentity_id int8,
primary key (id)
)
Hibernate:
create table balance (
id bigserial not null,
amount float8 not null,
last_update timestamp,
primary key (id)
)
Hibernate:
create table transaction (
id int8 not null,
transactions int4
)
Hibernate:
alter table account
add constraint FK4ph46xeruid24i50n89i428j6
foreign key (balancejpaentity_id)
references balance
Hibernate:
alter table transaction
add constraint FKrn3ygljg7joxal9hsu695ltr6
foreign key (id)
references balance
Tester notre application
On peut utiliser par exemple Postman pour effectuer des requêtes vers notre application.
Diagramme de séquence
On représence ci-desosus l'ensemble des étapes necessaire à la création d'un compte bancaire
- L'utilisateur appelle le contrôleur en lui transmettent un body contenant toutes les informations à enregistrer
- Le Contrôleur transmet au Service les informations sous la forme d'un DTO
- Le Service transmet à l'adapteur de la base de données
- L'adapteur de la base de données convertit les informations reçu en entité JPA puis appelle le Repository qui assurera la persistance