有个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下运行后,好像能够自动获得里面的数据。能生成数据源,不知道怎么实现的。
不知道是什么个原理,
可能说得不太清楚,麻烦大家帮忙分析下,感激不尽

解决方案 »

  1.   

    再自动获得,也是封装好的东西。只不过看不到而已。
    解析xml文件,拿到想要的值。
    不知道是不是楼主想要的。
      

  2.   

    功能被封装在DataSource 或BasicDataSource 里,请继续跟踪就可获知
      

  3.   

    后来发现是通过Digest 在自动获得配置文件的信息。当web程序启动时,自动加载参数为<load-on-startup>1</load-on-startup>的应用程序,调用digest.