2010-05-07 30 views
7

¿Qué es un frijol en marco de primavera? ¿Cuál es el uso del grano?Frijoles ... ¿qué es realmente

+0

Tal vez me esté perdiendo algo, pero todos parecen haber respondido a la pregunta "¿Qué es un JavaBean?". Aunque las clases de Spring Bean suelen ser JavaBeans, esto no es un requisito. Puede definir un Spring Bean con cualquier clase. –

+2

huele como un troll –

+0

¿Es realmente una pregunta desenfocada? ¿Podrías decirme qué es realmente una pregunta enfocada? puede ser que podamos saberlo. El foco de la pregunta está en el OP sobre lo que realmente le gusta aprender. Hay mucha diferencia – Kevin

Respuesta

16

En el contexto de Spring, un bean es un objeto gestionado . ¿Qué es un objeto administrado? Es un objeto que Spring conoce y que Spring sabe cómo manipular, p. inyectar propiedades, llamar a los métodos de devolución de llamada, etc.

Hay, pues, una diferencia entre una clase regular de java (que la primavera no sabe nada) y granos primavera (que conoce).

Generalmente, los beans Spring siguen la convención de beans de Java, por lo que Spring puede manipularlos fácilmente. Por ejemplo, si se declara que el bean tiene una propiedad xxx, entonces Spring esperará que estén presentes getXxx y setXxx. Sin embargo, desde Spring 2.X es posible insertar variables privadas (usando anotaciones), y por lo tanto ya no es necesario definir un setter público para habilitar la inyección de dependencia para una propiedad.

(El término bean es confuso en el sentido de que con frecuencia se utiliza para denotar o bien (1) algo que es administrado por un contenedor, como un bean enterprise java (EJB) o (2) algo que se adhiere a las convenciones de frijol Java.)

1

a bean es un POJO con setters y getters que siguen la convención del frijol.

granos se utilizan para pasar alrededor de los datos, también JSP tiene un apoyo especial para los granos de

+1

POJO = objeto antiguo simple de Java – knittl

+0

Está confundiendo Java Beans con Spring Beans. –

+0

es Spring Bean no un Java Bean? – mkoryak

-1

un frijol es una clase con un constructor públicas, getters/setters estándar (propiedades) y debe ser serializable. wikipedia tiene una explicación sobre esto.

esta manera el marco de primavera sabe cómo crear una instancia del frijol (constructor estándar público) y que existen propiedades (con la reflexión)

+0

No es necesario que una clase de Spring Bean sea JavaBean –

+0

El marco Spring puede instanciar un bean con un método de fábrica. Por lo tanto, no es un requisito que su clase tenga un constructor público. Y en realidad, Spring también maneja constructores con argumentos. – Espen

3

La especificación Java Bean explica en detalle sin argumentos de constructor, getters/setters y serializable, pero Spring no requiere que sus beans sigan las especificaciones. Spring se ocupa de Plain Old Java Objects, ya sea que se ajusten a la especificación de Java Bean o no.

¿De qué sirve el frijol? Expresan tus deseos en el código. Todo lo que Spring está haciendo es administrar su ciclo de vida y conectarlos para lograr sus objetivos.

0

Un frijol en el mundo de la primavera es cualquier objeto que se defina usando las convenciones de primavera que usan identificación o nombre de frijol. Su tiempo de vida es administrado por Spring contenedor. El bean puede ser un POJO o una instancia de fábrica con métodos estáticos. Incluso puede ser un recurso JNDI y no es necesario un Java Bean. El frijol manejado por el contenedor de Spring puede incluso ser un proxy frijol que puede ocultar el frijol (especialmente con TransactionProxyFactory).

En resumen, cualquier frijol cuya vida útil es administrada por el contenedor Spring es un Spring Bean.