will choose for a real-world project (be it with Spring or Guice). For my proof-of-concept, I chose the method-overloading mechanism to keep it simple ( KISS without the trailing S). Then, it’s all very simple: the getConnectionUrl() should return "java:derby:[your_chosen_db_name];create=true" , the getDriverClass() should return "org.apache.derby.jdbc.EmbeddedDriver" , the getDataSet() should return