yus*_*suf 8 java annotations properties
有没有办法将属性文件作为强类型类?我想有代码生成器,但使用注释做它会更酷.
我的意思是;
foo.properties file
keyFoo = valuefoo
keyBar = valuebar
Run Code Online (Sandbox Code Playgroud)
也许有
@properties(file="foo.properties")
class foo { }
Run Code Online (Sandbox Code Playgroud)
变
class foo {
String getKeyFoo() { }
String getKeyBar() { }
}
Run Code Online (Sandbox Code Playgroud)
如果不是,我会为此启动一个开源项目吗?
对问题的补充;
认为我们有一个foo.properties文件,可以说超过10个条目; 并认为它被用作一个简单的配置文件.我认为这个配置条目应作为配置类提供,并将相关的getXXX方法提供给设计的其他部分.然后系统的其余部分通过提供的类访问配置,而不是处理密钥名称,并且不需要打扰配置的来源.然后,当您测试调用者并且对文件系统的依赖性消失时,您可以使用模拟替换此类.另一方面,以强类型方式获取所有条目真的很不错.
所以这个问题是幕后的代码生成问题,它与运行时无关.但是使用外部代码而不是注释生成代码对我来说似乎并不好.虽然我不太熟悉注释,但我想这可以实现(但我会记住,注释不能像McDowell那样生成类)
有一个有点类似的项目用于作为静态类型文件进行配置。它需要声明一个接口,但它填充实现本身:
public interface AppConfig extends Config {
long getTimeout ();
URL getURL ();
Class getHandlerClass ();
}
Run Code Online (Sandbox Code Playgroud)