Spring Batch, Spring Boot et magie noire
Bonjour,
J'ai un peu de mal à comprendre comment fonctionne certains exemples de Spring Batch qu'on trouve en ligne. Comme celui ci :
http://spring.io/guides/gs/batch-processing/
l'exemple défini la méthode writer comme ceci :
Code:
public JdbcBatchItemWriter<Person> writer(DataSource dataSource) {
Mais à aucun moment, on indique comment construire la datasource. D'où vient-elle ?
Et quand on l'appelle, on l'appelle comme ceci :
Code:
1 2 3 4 5 6 7 8 9
| @Bean
public Step step1(JdbcBatchItemWriter<Person> writer) {
return stepBuilderFactory.get("step1")
.<Person, Person> chunk(10)
.reader(reader())
.processor(processor())
.writer(writer)
.build();
} |
Et je ne comprends pas comment il peut savoir que l'objet "writer" a été créé avec la méthode du même nom...
J'ai aussi vu dans d'autres exemples, l'écriture suivante :
Qui semble ne fonctionner que si la méthode "writer()" n'a pas de paramètre (donc pas possible de lui passer un datasource.
Bref, j'ai du mal à comprendre par quel mécanisme cela fonctionne.
Merci pour votre aide,
Axel