Pregunta

¿Te molestas en inicializar los valores de java bean? Di, por ejemplo:

([g | s] éteres omitidos)

public class SomeClass {

    private String foo;

    private Date bar;

    private Baz someObject;

}

(Sí, este es un POJO que se usa como bean en lugar de Java Bean en el sentido más estricto)

En el constructor vacío, ¿inicializa estos miembros o simplemente no hace nada? Del mismo modo, ¿Baz inicializaría también a sus miembros?

¿O simplemente los dejas como nulos?

¿Fue útil?

Solución

Depende del caso de uso.

Si utilizo las propiedades como dependencias de servicio, deberían inicializarse para que funcionen correctamente (por cierto, Spring DI tiene una forma práctica de hacerlo).

Si uso bean como parte del modelo de dominio, normalmente es un estado ilegal tener alguna propiedad nula. Es posible que no se inicialice en el inicio, pero me molesto en lanzar la excepción IllegalStateException si algún campo es nulo durante la operación comercial.

Otros consejos

Si es posible, inicializo las variables en la declaración si es necesario inicializarlas. Estas declaraciones de inicialización en realidad terminan siendo llamadas desde el constructor.

Generalmente los dejo como nulos si no hay una razón convincente para inicializarlos.

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