significa que hay entre diferencias diferencia java spring classpath

java - que - Diferencia de prefijo classpath de primavera



que diferencia hay entre i++ y++ i (3)

Documentado aquí indica

Este prefijo especial especifica que se deben obtener todos los recursos classpath que coinciden con el nombre dado (internamente, esto ocurre esencialmente a través de una llamada ClassLoader.getResources (...)), y luego se fusiona para formar la definición final del contexto de la aplicación.

¿Alguien puede explicar esto?

¿Cuál es la diferencia entre usar classpath*:conf/appContext.xml en oposición a classpath:conf/appContext.xml sin el asterisco?


La sintaxis classpath*:... es útil principalmente cuando se quiere construir un contexto de aplicación a partir de múltiples archivos de definición de bean, usando sintaxis comodín.

Por ejemplo, si construye su contexto usando classpath*:appContext.xml , la classpath se escaneará para cada recurso llamado appContext.xml en la classpath, y las definiciones de bean de todas ellas fusionadas en un solo contexto.

Por el contrario, classpath:conf/appContext.xml obtendrá un solo archivo llamado appContext.xml del classpath. Si hay más de uno, los demás serán ignorados.


DEFINICIÓN SIMPLE

El classpath*:conf/appContext.xml simplemente significa que todos los archivos appContext.xml bajo las carpetas conf en todos sus archivos jar en el classpath serán recogidos y unidos en un contexto de aplicación grande.

Por el contrario, classpath:conf/appContext.xml solo cargará uno de esos archivos ... el primero encontrado en su classpath.


classpath *: Hace referencia a una lista de recursos y carga todos esos archivos presentes en la ruta de clase y la lista puede estar vacía y si dicho archivo no está presente en la ruta de clases, entonces la aplicación no lanza ninguna excepción (simplemente ignora el error).

classpath: se refiere a un recurso determinado y carga solo el primer archivo encontrado en classpath y si dicho archivo no está presente en el classpath generará una excepción

java.io.FileNotFoundException: class path resource [conf/appContext.xml] cannot be opened because it does not exist