Retirar sql do .java

oi amigos… dei uma lida em dois tutoriais no guj sobre arquivos .properties,
o primeiro tutorial da uma visao de como usar .properties
o segundo ensina como retirar querys sql do .java colocando-as em arquivos .properies, soh que naoi consegui acessar a classe de fora da classe… fiz da maneira que o tutorial explicou
http://www.guj.com.br/java.artigo.115.4.guj

//-Classe QueryManager(ela compila sem erros)
import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.util.Properties;
import java.sql.*;


public class QueryManager {

    protected Properties queries;

    // nao deveria estar hardcodado:
    protected static QueryManager queryManager = new QueryManager("arquivoMysql.txt");

    private QueryManager(String arquivo) {
        try{
        queries = new Properties();
        // le as sqls e guarda!
        queries.load(new FileInputStream(arquivo));
        }catch(IOException e){
                System.out.println(e);
        }
    }

     public PreparedStatement getPreparedStatement(Connection conn, String queryName) throws SQLException {
        String query = this.queries.getProperty(queryName);
        return conn.prepareStatement(query);
    }

}
//-Tentar acessar a classe da erro :(
QueryManager manager = QueryManager.getQueryManager();

PreparedStatement ps = manager.getPreparedStatement(conn, USUARIO_SELECT_BY_NAME);
ps.setString(1, "Joaozinho"); // poderia ser setObject, recomendo!
ResultSet rs = ps.executeQuery();

a forma de acessar a classe esta certa ? nao tenho muita experiencia com encapsulamento :frowning:
abracos

Achei estranho, pois entrei no site do GUJ e no artigo disse q a Classe QueryManager eh um singleton. Mas naum eh naum… eu acho q a classe QueryManager deve estender a classe properties e o atributo queryManager deve ser do tipo QueryManager. Dai sim a classe vira um siongleton