Inyección de código fuente de Spring
Como sugiere el nombre, la inyección de dependencia es una combinación de "dependencia" e "inyección", así que sigamos las huellas y analicemos estas dos palabras por separado.
2.2 Dependencias
En cuanto a quién depende de quién, por supuesto, la aplicación depende del contenedor IOC. Esta dependencia surge porque la aplicación depende de recursos externos requeridos por los objetos proporcionados por el contenedor IOC. (¡Puede entenderse como una entrada, aunque no es tan riguroso!)
2.3 Inyección
3.1 Inyección del método Setter
Inyección del método Setter, solo necesita proporcionar el Setter correspondiente La interfaz del método puede implementar la inyección. Debido a que los JavaBeans generalmente implementan métodos Setter, la inyección del método Setter se ha convertido en uno de nuestros métodos de inyección más utilizados.
3.1.1 Definir JavaBean
3.1.2 Inyectar varios tipos de datos
3.1.3 Inyectar datos de tipo autoconstruidos
Servicio La capa requiere una capa Dao para implementar objetos de clase, y podemos usar la inyección para realizar la asociación de objetos entre la capa de servicio y la capa Dao.
Inyecta el objeto Bean creado en otro objeto, como un objeto JavaBean como propiedad de otro objeto JavaBean.
3.2 Inyección de método estructural
Al crear un objeto, Spring Factory asigna valores a las propiedades del objeto a través del constructor. Debido a que algunos marcos o proyectos no proporcionan métodos Setter para JavaBeans, podemos usar sus constructores para inyectar. ¡No me digas que no hay método de construcción! (¡Es broma!)
3.2.1 Definir JavaBean
Inyección de método estructural
3.3 Inyección automática
No es necesario configurar Especificar las propiedades y valores a asignar. Spring encuentra automáticamente un bean en la fábrica de acuerdo con ciertos "principios" e inyecta el valor del atributo en el atributo.
3.3.1 Escenario de inyección
Inyecta el objeto de clase de implementación de la capa Dao en la capa de servicio y llama al método para realizar pruebas.
3.3.2 Dos métodos de inyección automática
Inyectar valor automáticamente según el nombre
Inyectar valor automáticamente según el tipo, juzgar e inyectar valor automáticamente según el implementado interfaz. Si hay demasiadas clases de implementación que implementan esta interfaz, seleccionará la clase de implementación con el mismo nombre entre las muchas clases de implementación que implementan esta interfaz para inyección. (Según el juicio actual, si no tiene éxito, se inyectará según el nombre).
3.4 Inyección automática de anotaciones
Utilice la inyección automática basada en tipos para inyectar el Dao. capa en la capa de servicio.
Inyecta la capa Dao en la capa de servicio mediante inyección automática basada en nombres.
La inyección simple de JavaBean se logra inyectando anotaciones de datos de tipo simple.