He estado usando la primavera durante algún tiempo, pero siempre me he preguntado cómo funciona, más específicamente, cómo cargan y tejen beans/clases marcadas solo con una interfaz o @ anotación.Internals of Spring Framework y otros contenedores IoC
Para las declaraciones xml, es fácil ver cómo preprocesamos la primavera mis beans (están declarados en el contexto xml que lee la primavera), pero para las clases marcadas solo con anotaciones, no puedo ver cómo funcionan, dado que No le paso ningún agente a la jvm más o menos.
Creo que hay algún gancho Java/JVM que le permite preprocesar las clases por algún tipo de criterio, pero no pude encontrar nada en los documentos.
¿Alguien me puede indicar algunos documentos? ¿Está relacionado con la API java.lang.instrument.ClassFileTransformer?
¡Gracias, gran respuesta! Estaba un poco desconcertado sobre cómo podría la primavera o cualquier otro marco acceder a mis clases sin que yo las suministrara al contenedor, pero ahora tiene sentido :) –
Debo señalar que el uso de Proxy significa que debe codificar las interfaces para usar Spring sin tejer (Proxy solo funciona con interfaces) –
No. Los proxies JDK solo funcionan con interfaces, los proxies CgLib también funcionan con las clases habituales. –