Estou lendo a especificação Java JDBC (vr. 4) e encontrei esta declaração:
DataSource - esta interface foi introduzida na API de pacote opcional JDBC 2.0. É preferível ao DriverManager porque permite que os detalhes sobre a fonte de dados subjacente sejam transparentes para o aplicativo
O que estou tentando entender é qual é a diferença entre a Connection
e a DataSource
, e por que existe. Quer dizer, o bloco acima diz que os detalhes sobre uma fonte de dados são transparentes para o aplicativo, mas externalizar as propriedades do banco de dados como nome de usuário, senha, url etc em um arquivo de propriedade e usar o DriverManager não funcionaria da mesma maneira?
E a DataSource
interface é criada apenas para ter uma maneira comum de retornar conexões que podem ser agrupadas etc.? Em Java EE, o servidor de aplicativos implementa essa interface e os aplicativos implantados para ter uma referência a uma fonte de dados em vez de uma conexão?