Bonjour à tous,
Je viens enfin de régler mon problème d'initialisation de constante. Je voudrai avois l'avis des pro de Java pour savoir si ça tient la route ou si c'est complètement débile ou si il y a plus simple.
Le pb au départ :
Un fichier d'initialisation ( .properties ) avec différents paramètres : ex : ip=x.x.x.x
Pouvoir utiliser ces paramètres de façon simple dans toutes mes classes Java. Par exemple coder ce genre de chose : Constante.IP ...
Voilà ce que j'ai fait :
La classe Main
La classe Config qui charge le fichier properties
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public class Main { public static void main ( String args[]){ new Config(); new Constante(); // exemple d'utilisation de la constante System.out.println(Constante.IP); } }
Et finalement la class Constante avec laquelle je travaille.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public class Config { static public Properties p = new Properties(); // Constructeur public Config() { try { Config.p.load(ClassLoader.getSystemResourceAsStream("ex.properties")); } catch (IOException e) { e.printStackTrace(); } } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public class Constante { // Définition de tte les constantes public final static String IP = Config.p.getProperty("ip"); }
J'avais commencé à définir mes constantes dans une interface, mais c'est trop rigide ( d'un côté, c'est aussi normal ...)
Voilà tout ,
@+
Partager