¿Cuáles son los tres modos de inyección de Spring?
El modo de inyección de interfaz tiene una larga historia y se ha utilizado en muchos contenedores. Sin embargo, dado que no es tan flexible y fácil de usar como los otros dos modos de inyección, no es popular en el mundo temático del COI.
Inyección de setter:
Para los programadores que están acostumbrados al desarrollo tradicional de Javabean, establecer dependencias a través del método setter es más intuitivo.
Si las dependencias son complejas, el constructor del modo de inyección del constructor puede ser bastante grande, mientras que el modo de inyección del definidor es más conciso.
Si utilizamos una biblioteca de terceros, es posible que nuestro componente deba proporcionar un constructor predeterminado, por lo que el patrón de inyección del constructor no se aplica.
Inyección del constructor:
Completa un objeto legal y completo durante el proceso de construcción.
Todas las dependencias se muestran centralmente en el constructor.
El contenedor establece las dependencias una vez durante la construcción y permanecen en un estado estable relativamente "sin cambios" después de crear el componente.
Sólo el creador del componente se preocupa por sus dependencias internas, que son una "caja negra" para quien llama.
Solo el creador del componente se preocupa por sus dependencias internas.