Reading a properties file using design patterns
DI means injecting dependencies in  and not creating them directly in a class. Your properties file contains the String value of the keys. You need not compile your java classes if the string value are changed. Thus your string literals and your classes are de-coupled from each other. 

Dependency Injection is a Design principle. (I suggest you to study SOLID design Principles). Along with it also we should pay due respects to principles like KISS and YAGNI. These say we should keep the code simple and avoid over-engineering. 

You should have different Properties object for each file and pass the object from which you wish to read in your PropHolder.