QATools Properties
This library provides convenient way to work with properties. It can handle property-files on hard drive, in classpath or get values from system properties.
Deprecation notice
This library is not actively maintained, so please look at the same libs
Getting started
To add Properties to your Java project, put the following in the dependencies section of your POM:
Latest stable version:
<dependency>
<groupId>ru.qatools.commons</groupId>
<artifactId>properties</artifactId>
<version>${LATEST_VERSION}</version>
</dependency>
Now you are ready to describe you configuration:
public interface MyConfig {
@Property("proxy.port")
int getPort();
@Property("proxy.host")
String getHost();
}
Then you need to populate the configuration:
MyConfig config = PropertyLoader.newInstance()
.populate(MyConfig.class);
By default values proxy.port
and proxy.host
will be read from system properties. If you want to read properties from file you can use @Resource
annotation:
@Resource.Classpath("proxy.properties")
public interface MyConfig {
@Property("proxy.port")
int getPort();
@Property("proxy.host")
String getHost();
}
There is a few available options:
@Resource.Classpath
finds properties file by given name in your classpath.@Resource.File
finds properties file by given file path.
Put in your resources directory (mainly it src/main/resources
) file proxy.properties
proxy.host=proxy.yandex.ru
proxy.port=3133
It's easy to override value from system properties. E.g. when you run your code with
-Dproxy.host=ya.ru
it overrides the default value in properties file.