2016-05-03 7 views
0

Ich entwickle eine Java-Webanwendung. Ich frage mich, was die Vorteile/Nachteile der Einstellung eines Kontextparameters vs nur eine öffentliche endgültige statische Variable einer Klasse in meiner Webanwendung deklarieren.Kontextparameter vs. öffentliche statische endgültige Variablen in Java Web App

Zum Beispiel habe ich eine Variable, die in meiner gesamten Anwendung konstant ist wie "ServiceFee". Ich kann diese Variable speichern als Kontextparameter (was bedeuten wird, dass ich nur auf sie zugreifen kann, wenn ich Zugriff auf das ServletContext bezwecken)

oder

I den Wert als public static final Variable in einem Satz kann von meinen Klassen (zB: meine Invoice Klasse) (und dann kann ich auf alle meine Klassen zugreifen, ohne Zugriff auf das Objekt ServletContext zu haben).

Ich suche nach Ratschlägen, warum eine Methode gegenüber der anderen bevorzugt wird.

Vielen Dank.

Antwort

1

Öffentliche finale statische Variablen sollten nicht im Kontext gespeichert werden. In dem Kontext werden Sie höchstwahrscheinlich alle Variablen speichern, die für diejenigen verwendet werden, die sich mit Ihrer Webanwendung verbinden. Ich habe immer eine andere Schnittstelle Klasse verwendet, um meine Variablen zu speichern ex:

public interface constants { 
    String foo = "bar"; 
} 
+0

Danke. Wie entscheiden Sie, was eine Kontextvariable sein soll und was eine öffentliche finale statische Variable sein soll? Warum übereinander? – theyuv

+0

Der größte Unterschied ist, wird es sich ändern? Wenn ja, schaue in den Kontext, wenn kein Blick auf das öffentliche final static int. Dies könnte Ihnen mehr Einblick geben: http://www.ibm.com/developerworks/websphere/techjournal/1301_stephen/1301_stephen.html – namlik