我正在尝试使用netbeans创建一个java应用程序。我想在运行时输入JDBC连接详细信息(类名,主机名,用户名和密码),以便应用程序更有效。有没有办法做到这一点?
如果没有netbeans,那么可以在eclipse中完成吗?
通过动态输入,主机名,我的意思是JDBC类名,主机名和端口以及用户名,密码。我的主要目标是从前端(java应用程序本身)输入这些值。可以吗?或者我听说过配置文件,如果前端不可能,有人可以告诉我们如何使用这些配置文件并使用这些配置文件吗?
答案 0 :(得分:0)
当然可以,但它与您的IDE无关。诀窍是确保依赖项始终传递给需要它们的对象。它被称为inversion of control。
这是一个以DataSource作为依赖关系的示例。
public class DbAccessClass {
private final DataSource dataSource;
public DbAccessClass(DataSource dataSource) {
this.dataSource = dataSource;
}
public doSomething() {
dataSource.getConnection();
// use connection
}
}
然后,您只需向用户显示一个对话框,输入这四个字符串并构建您的DataSource
并传递它以构建您的DbAccessClass
。以下是使用BasicDataSource的示例。
String driver = // get driver field value from UI
String url = // get url field from UI
String user = // get user field
String pass = // get pass field
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName(driver);
ds.setUrl(url);
ds.setUsername(user);
ds.setPassword(pass);
new DbAccessClass(ds);
如果您的用户确实知道连接细节,我只会采用这种方法。将它们隐藏在配置文件中通常更有价值。