JDBC DataSource is the interface defined in javax.sql package and it is more powerful that DriverManager for database connections. We can use DataSource to create the database connection and Driver implementation classes does the actual work for getting connection. Apart from getting Database connection.
DataSource provides some additional features such as:
Caching of PreparedStatement for faster processing
Connection timeout settings
ResultSet maximum size threshold
Connection Pooling in servlet container using JNDI support