0

假设我有一个为服务器提供连接属性的接口:

public interface ServerConfig {
    String getHostname();

    int getPort();
}

有什么方法可以在运行时动态创建所述接口的实现类,该实现类会从某个任意源(应用程序参数、系统属性、外部配置文件等)返回值?

更具体地说,假设有一个.properties包含以下内容的文件:

hostname = localhost
port = 80

和一个方法

ServerConfig fromFile(String filename);

调用此方法应返回动态生成的实现的实例,该实例ServerConfig将从参数.properties中指定的文件返回值filename

澄清:

目标是能够添加其他接口,其方法将返回在外部源(即.properties文件)中指定的值,而无需每次都手动实现它们。一个简单的解决方案是创建接口的实现,这些接口返回的属性值与被调用的接口方法名称相匹配,即调用getHostname()将返回hostname属性值,getBla()从其他接口调用将查找并返回bla属性值等.

4

1 回答 1

2

你不需要做这样的事情。
您可以只编写一个实现接口并将文件名作为构造函数参数的普通类。

于 2012-11-12T17:45:09.767 回答