Je suis en train de lire la spécification Java JDBC (vr. 4) et je suis tombé sur cette déclaration :
DataSource - cette interface a été introduite dans l'API de paquet optionnelle JDBC 2.0. Package API. Elle est préférée à DriverManager parce qu'elle permet les détails sur la source de données sous-jacente d'être transparents pour l'application application
Ce que j'essaie de comprendre, c'est quelle est la différence entre une Connection
et un DataSource
et pourquoi il existe. Je veux dire, le bloc ci-dessus dit que les détails d'une source de données sont transparents pour l'application, mais l'externalisation des propriétés de la base de données telles que le nom d'utilisateur, le mot de passe, l'url, etc. dans un fichier de propriétés, puis l'utilisation de DriverManager ne fonctionnerait-elle pas de la même manière ?
Et est-ce que le DataSource
créée uniquement pour avoir un moyen commun de renvoyer les connexions qui peuvent être mises en commun, etc. Dans Java EE, le serveur d'application implémente-t-il cette interface et les applications déployées ont-elles une référence à une source de données au lieu d'une connexion ?