scan enable different context componentscan component autoscan annotation xml eclipse spring warnings javabeans

xml - different - spring enable component scan annotation



¿Se ha recibido el aviso de Spring/Eclipse ''bean referenciado no encontrado'' al utilizar<import>? (3)

¡Realmente me molestó también!

No estoy seguro de cuándo se introdujo esta función, pero con versiones posteriores es posible agregar este soporte.

  1. Haga clic derecho en su proyecto en la vista del explorador Spring
  2. Haga clic en las propiedades
  3. Ver imagen abajo:

No entiendo por qué no está marcado de forma predeterminada, ¡pero funciona como un encantamiento después de que lo hayas habilitado!

Si no tiene esta opción con su versión, le recomiendo que descargue el STS de SpringSource con todos los complementos de Eclipse incluidos.

Acabo de dividir un archivo de configuración de Spring Bean en archivos externos más pequeños y he usado la directiva "importar" para incluirlos en mi archivo XML de contexto de la aplicación Spring Test.

Pero cada vez que hago referencia a uno de los beans de los archivos importados recibo una advertencia dentro del editor XML de Eclipse / STS / Spring quejándose de que "el bean referenciado ''foo'' no se encontró"

¿Esto es un error o soy yo? Es realmente molesto porque no quiero desactivar la advertencia, pero en mi empresa intentamos eliminar todas las advertencias.


1) Es noble intentar eliminar todas las advertencias, pero no esperes tener éxito. 10 advertencias por proyecto están bien, 500 no lo están.

2) dicho esto, no es su error, es una característica que le falta deliberadamente al STS. deliberadamente, porque no tienen forma de saber cuál será su classpath en tiempo de ejecución. Por supuesto que podrían resolver algunas declaraciones de importación, pero eso sería un comportamiento inconsistente. En definitiva, he aprendido a vivir con esta advertencia.


Según este hilo , esto podría ser similar a:

Tengo un problema (ciertamente cosmético) con los complementos Spring IDE para Eclipse que no he podido resolver. Tengo una situación en la que los archivos de contexto A y B son importados por el contexto C. B usa varios beans definidos en A, pero como nunca se usan de forma independiente (solo C), esto no es un problema.

Sin embargo, el validador del complemento IDE de Spring marca todas las referencias a los beans en A en el archivo de contexto B como errores, diciendo algo así como "bean foo ''referenciado no encontrado. Obviamente, esta es una declaración correcta, pero en mi caso de uso no es un error.

Hay dos formas de resolver este problema:

  1. Solo configure el contexto C con Spring IDE y deje que los otros archivos (A. B) sean manejados por el soporte de importación. Si lo hace, no creará la advertencia. Asegúrese de no agregar A y B como archivos de configuración al IDE de Spring, ya que también se validarán de forma independiente, lo que provoca el error de validación que está viendo.
  2. Configure un conjunto de configuración para A, B y C y no habilite el procesamiento de importación para el proyecto.