Red de conocimiento informático - Problemas con los teléfonos móviles - primavera——inyección de dependencia más amplia del proveedor de objetos

primavera——inyección de dependencia más amplia del proveedor de objetos

Después de Spring 4.3, se introdujo una nueva característica: cuando el constructor tiene solo un parámetro, se puede omitir la anotación @Autowired.

Esta forma es muy utilizada en el montaje automático de botas de salto.

En Spring 4.3, se introdujo la interfaz ObjectProvider.

Se puede considerar como una carga diferida de inyección de dependencia, y las excepciones se transferirán de la fase de inicio a la fase de operación comercial.

Después de Spring 5.1, se proporciona el métodoorderStream para obtener el método de flujo ordenado.

En algunas empresas, necesitamos un escenario donde la función esté habilitada si ciertos parámetros están configurados en el archivo de configuración.

SpringBoot nos proporciona la anotación @ConditionalonProperty (prefijo = "xxx.rabbit", nombre = "thresholdtime").

Por ejemplo, si se configura un interceptor, el bean timeoutInterceptor se colocará en el contenedor Spring solo cuando el archivo yml contenga la configuración de xxx.rabbit.thresholdTime.

Pero si no hay configuración y no existe dicho bean en el contenedor Spring, ¿cómo se puede inyectar sin apretar?

Nota:

Seguimiento del código fuente del proveedor de objetos anotados Spring Boot