¿Cómo uso ResourceBundle para evitar rutas de configuración codificadas en las aplicaciones Java?

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

  •  03-07-2019
  •  | 
  •  

Pregunta

Me gustaría eliminar las dependencias en las rutas codificadas para los datos de configuración en mis aplicaciones Java, entiendo que usar ResourceBundle me ayudará a usar el cargador de clases para encontrar recursos.

¿Puede alguien decirme cómo reemplazaría una ruta codificada en un recurso (por ejemplo, un archivo de datos de configuración de .properties requerido por una clase) con el uso apropiado de ResourceBundle? Ejemplo claro simple si es posible, gracias a todos.

¿Fue útil?

Solución

Antes de Java 6, ResourceBundle generalmente permitía:

Java 6 incluye el ResourceBundle. Clase de control que abre la puerta a otras fuentes de ResourceBundles, por ejemplo:

  • archivos XML (ver ejemplo 2 en Javadoc)
  • filas de la base de datos

Espero que esto ayude.

Otros consejos

Querrá examinar Resource.getBundle (String) . Le pasa el nombre completo de un recurso en la ruta de clase para cargarlo como un archivo de propiedades.

No necesitas un ResourceBundle. Un simple objeto de propiedades puede hacer el trabajo. Simplemente use el cargador de clases para obtener un flujo de entrada para su archivo de propiedades y utilícelo para cargar valores. Si necesita manejar configuraciones de usuario más sofisticadas, use preferences api .

Saludos cordiales

El truco detrás de Resource.getBundle (..) es el uso del cargador de clases. Puede cargar todo lo que está en su classpath accediendo a través de this.getClass (). GetClassLoader (). Resource.getBundle (..) es un ayudante práctico para usarlo en el tema de recursos / locatización.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top