Archivo de propiedades de lectura y escritura en Java

El archivo de propiedades es un archivo que usamos en el lenguaje de programación Java para guardar los parámetros de configuración. A estos archivos los llamamos Paquete de recursos porque es un paquete de recursos que vamos a usar en la aplicación.

¿Cuáles son los parámetros de configuración?

Los parámetros de configuración son los parámetros que usas al momento de configurar tu base de datos, o si hay alguna validación en el proyecto, puedes agregarlos como parámetros de configuración.

Ejemplo: debe haber utilizado la clase DBConnect para la conexión de la base de datos en su aplicación web basada en Java. Mantenemos todas las URL de la base de datos, los nombres de la base de datos y los controladores de la base de datos dentro de esta clase. En lugar de escribir este parámetro de configuración dentro de esta clase, podemos crear un archivo system.properties dentro de su carpeta de recursos del proyecto Java. La extensión que usamos para el archivo de propiedades es .properties .

Veamos los archivos de propiedades:

  • Todo en el archivo de propiedades está presente en pares clave-valor.
  • Entonces, para acceder a cualquier valor de este archivo, podemos usar la clave

¿Por qué necesitamos un archivo de propiedades?

Puede trabajar sin un archivo de propiedades, pero la ventaja aquí es que cada vez que modifica este archivo, no se preocupa por la compilación.

 Suponga que está creando un proyecto Java basado en la web en el que está utilizando alguna ruta de imagen y esa ruta de imagen se usa en diferentes módulos de su proyecto. Entonces, si desea modificar algo en la ruta, debe cambiarlo en cada módulo en lugar de lo que podemos hacer, podemos crear un archivo de propiedades en el que podemos tener los parámetros para la ruta de la imagen dentro de esto. Entonces, ahora no necesitamos alterar cada módulo. Entonces, esta es la ventaja de usar un archivo de propiedades.

Aquí, crearemos nuestra clase JDBCMySqLConnection normal.java

Java

package com.abc;
 
import java.sql.*;
 
public class DBConnect {
 
    public static Connection getConn()
    {
        Connection con = null;
 
        // driver name for mysql
        String loadDriver = "com.mysql.cj.jdbc.Driver";
 
        // url of the
        String dbURL = "jdbc:mysql://localhost:3306/DbName";
        // database
 
        // username to connect db
        String dbUSERNAME = "root";
 
        // password to connect db
        String dbPASSWORD = "root";
 
        try {
            // load the driver
            Class.forName(loadDriver);
            con = DriverManager.getConnection(
                dbURL, dbUSERNAME, dbPASSWORD);
 
            // get the connection
            Statement st = con.createStatement();
            ResultSet rs
                = st.executeQuery("SELECT * FROM CUSTOMER");
            while (rs.next()) {
                System.out.println(
                    "ID -" + rs.getInt(1) + " || "
                    + "First-Name -" + rs.getString(2)
                    + " || "
                    + "LastName -" + rs.getString(4));
            }
        }
        catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
 
        return con; // return the connection obj.
    }
    public static void main(String[] args)
    {
        DBConnect.getConn();
    }
}

Producción:

Este es el archivo DBConnect.java en el proyecto Java. En esto, hemos utilizado todos los parámetros dentro de esta clase, por lo tanto, cada vez que su cliente quiera cambiar los parámetros, debe ir a este archivo y cambiar las cosas en consecuencia. Pero en cambio, lo que podemos hacer aquí es mantener todos estos parámetros de configuración en el archivo system.properties .

Vamos a crear un archivo system.properties en java.

Simplemente haga clic derecho en su carpeta de recursos y cree un archivo de propiedades. 

Java

url=jdbc:mysql://localhost:3306/DBName
driver=com.mysql.cj.jdbc.Driver //Driver class of mysql
userName=root //Db username
password=root //Db password

Ahora, como puede ver, tenemos un archivo de propiedades donde guardamos todos estos parámetros como URL, controlador, nombre de usuario y contraseña de la base de datos. Necesitamos acceder a este archivo de propiedades dentro de su clase Java. 

Veamos cómo podemos acceder a este archivo.

Tenemos que usar la clase ResourceBundle y tenemos que acceder usando una clave.

  • Primero , crearemos el objeto del paquete de recursos y le pasaremos el nombre del archivo de propiedades.
  • Luego, tenemos que usar el método getString(key) para llamar al valor.

Java

package com;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.ResourceBundle;
 
public class DBConnect {
 
    public static Connection getConn()
    {
        ResourceBundle rd
            = ResourceBundle.getBundle("system");
        Connection con = null;
 
        // driver name for mysql
        String loadDriver = rd.getString("driver");
 
        // url of the database
        String dbURL = rd.getString("url");
 
        // username to connect db
        String dbUSERNAME = rd.getString("userName");
 
        // password to connect db
        String dbPASSWORD = rd.getString("password");
 
        try {
            // load the driver
            Class.forName(loadDriver);
 
            // get the connection
            con = DriverManager.getConnection(
                dbURL, dbUSERNAME, dbPASSWORD);
            Statement st = con.createStatement();
            ResultSet rs
                = st.executeQuery("SELECT * FROM CUSTOMER");
            while (rs.next()) {
                System.out.println(
                    "ID -" + rs.getInt(1) + " || "
                    + "First-Name -" + rs.getString(2)
                    + " || "
                    + "LastName -" + rs.getString(4));
            }
        }
        catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
 
        return con;
    }
    public static void main(String[] args)
    {
        DBConnect.getConn();
    }
}

Producción:

Publicación traducida automáticamente

Artículo escrito por khanhuma1021994 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *