2008-10-22 7 views
1

Vous ennuyez-vous les valeurs du bean Java? Dites, par exemple:Propriétés du bean Java à initialisation profonde

([g | s] Etters omis)

public class SomeClass { 

    private String foo; 

    private Date bar; 

    private Baz someObject; 

} 

(Oui, c'est un POJO utilisé comme un haricot plutôt que Java Bean dans le sens le plus strict)

Dans le constructeur vide, initialisez-vous ces membres ou ne faites-vous simplement rien? De même, Baz initiera-t-il ses membres aussi? Ou les laissez-vous simplement vides?

Répondre

1

Cela dépend du cas d'utilisation. Si j'utilise les propriétés en tant que dépendances de service, elles doivent être initialisées pour fonctionner correctement (par exemple, Spring DI a un moyen pratique de le faire).

Si j'utilise le bean comme partie du modèle de domaine, il est généralement illégal d'avoir une propriété null. Il ne peut pas être initialisé au démarrage, mais je dérange lancer IllegalStateException si un champ est null pendant l'opération commerciale.

0

Si possible, j'initialise les variables à la déclaration si elles doivent être initialisées. Ces instructions d'initialisation finissent par être appelées par le constructeur. Je les laisse généralement nuls s'il n'y a pas de raison impérieuse de les initialiser.

Questions connexes