请教javabean如何自动获得配置文件数据的

Ivpikapig 2010-04-27 12:06:34
有个java bean
形如:
public class DbConfig {
private String id;
private String database;
private String driver;
private String login;
private String password;
private DataSource dataSource;

public String getDatabase() {
return database;
}

public void setDatabase(String database) {
database = Utility.replaceAllOccurances(database, "%dbpath%", Paths.getDbFolder());
this.database = database;
}

public String getDriver() {
return driver;
}

public void setDriver(String driver) {
this.driver = driver;
}

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getLogin() {
return login;
}

public void setLogin(String login) {
this.login = login;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

/**
* Returns the data source or creates a new one.
* @return
*/
public DataSource getDataSource() {
if (dataSource == null) {
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName(driver);
ds.setUsername(login);
ds.setPassword(password);
ds.setUrl(database);
// ds.setDefaultTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);
ds.setInitialSize(10);
ds.setMaxActive(20);
ds.setMaxIdle(20);
ds.setMaxWait(5000);
dataSource = ds;
}
return dataSource;
}

然后有个config文件夹 里面有文件config.xml
形如:
<XXX-config>
<common-params>
<charset>utf-8</charset>
</common-params>

<db-config>
<db>
<id>file</id>
<database>jdbc:mysql://localhost:3306/chat</database>
<driver>com.mysql.jdbc.Driver</driver>
<login>root</login>
<password>!!!!please set this!!!!</password>
</db>
</db-config>

<error-handling>
<resource-type>FILE</resource-type>
<resource-path>%respath%/error.properties</resource-path>
</error-handling>
</XXX-config>


看到在tomcat下运行后,好像能够自动获得里面的数据。能生成数据源,不知道怎么实现的。
不知道是什么个原理,
可能说得不太清楚,麻烦大家帮忙分析下,感激不尽


...全文
66 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ivpikapig 2010-04-28
  • 打赏
  • 举报
回复
后来发现是通过Digest 在自动获得配置文件的信息。当web程序启动时,自动加载参数为<load-on-startup>1</load-on-startup>的应用程序,调用digest.


berg369 2010-04-27
  • 打赏
  • 举报
回复
功能被封装在DataSource 或BasicDataSource 里,请继续跟踪就可获知
SealedBook 2010-04-27
  • 打赏
  • 举报
回复
再自动获得,也是封装好的东西。只不过看不到而已。
解析xml文件,拿到想要的值。
不知道是不是楼主想要的。

62,624

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧