Skip to content

This library provides convinient way to work with properties. It can handle property-files on hard drive, in classpath or get values from system properties

License

Notifications You must be signed in to change notification settings

qa-utomation-java/properties

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QATools Properties

release Maven Central build covarage

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.

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.

About

This library provides convinient way to work with properties. It can handle property-files on hard drive, in classpath or get values from system properties

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%