Estoy leyendo la especificación Java JDBC (vr. 4) y encontré esta declaración:
DataSource: esta interfaz se introdujo en la API de paquete opcional de JDBC 2.0. Se prefiere a DriverManager porque permite que los detalles sobre la fuente de datos subyacente sean transparentes para la aplicación.
Lo que estoy tratando de entender es cuál es la diferencia entre ay Connection
a DataSource
, y por qué existe. Quiero decir, el bloque anterior dice que los detalles sobre una fuente de datos son transparentes para la aplicación, pero ¿no funcionaría la externalización de las propiedades de la base de datos como el nombre de usuario, la contraseña, la URL, etc.en un archivo de propiedades y luego usar DriverManager de la misma manera?
¿Y la DataSource
interfaz se crea solo para tener una forma común de devolver conexiones que se pueden agrupar, etc.? En Java EE, ¿el servidor de aplicaciones implementa esta interfaz y las aplicaciones implementadas tienen una referencia a una fuente de datos en lugar de una conexión?