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 : Sélectionner tout - Visualiser dans une fenêtre à part
 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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