Como uso o ResourceBundle para evitar caminhos de configuração codificados nos aplicativos Java?

StackOverflow https://stackoverflow.com/questions/154728

  •  03-07-2019
  •  | 
  •  

Pergunta

Eu gostaria de eliminar as dependências de caminhos codificados para dados de configuração nos meus aplicativos Java, entendo que o uso do ResourceBundle me ajudará a usar o carregador de classe para encontrar recursos.

Alguém pode me dizer como eu substituiria um caminho codificado por um recurso (digamos um arquivo de dados de configuração .Properties exigido por uma classe) com o uso apropriado do ResourceBundle? Exemplo claro simples, se possível, obrigado a todos.

Foi útil?

Solução

Antes do Java 6, o ResourceBundle normalmente permitia:

Java 6 vem com o ResourceBundle.Control classe que abre a porta para outras fontes de recursos de recursos, por exemplo:

  • Arquivos XML (consulte o Exemplo 2 em Javadoc)
  • Linhas de banco de dados

Espero que isto ajude.

Outras dicas

Você vai querer examinar Resource.getBundle (string). Você passa o nome totalmente qualificado de um recurso no caminho de classe para carregar como um arquivo de propriedades.

Você não precisa de um ResourceBundle. Um objeto de propriedades simples pode fazer o trabalho. Basta usar o Classloader para obter um arquivo de entrada para seu arquivo de propriedades e usá -lo para carregar valores de DE. Se você precisar lidar com configurações de usuário mais sofisticadas, use o API de preferências.

Atenciosamente

O truque por trás do recurso.getbundle (..) é o uso do carregador de classe. Você pode carregar tudo o que está no seu caminho de classe acessando -o através deste.getClass (). GetClassLoader (). Resource.getBundle (..) é um ajudante prático para usá -lo no tópico de recurso/locatização.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top