¿Cómo funciona la anotación de Wicket @SpringBean
? ¿Utiliza la reflexión en tiempo de ejecución? ¿Hace que el compilador inyecte algún código? ¿O que?¿Cómo funciona la anotación de @SpringBean de Wicket?
Respuesta
Spring utiliza el cargador de clases y ASM en tiempo de ejecución para buscar todas las clases anotadas.
Puede configure donde la primavera debe buscar los granos:
<context:component-scan base-package="some.package.to.start.from"/>
Este utiliza el ClassPathBeanDefinitionScanner interno que utilizará el PathMatchingResourcePatternResolver para encontrar las clases y la MetadataReader para leer las anotaciones basadas en ASM.
Sin embargo, este mecanismo no tiene nada que ver con '@ SpringBean', que es una construcción Wicket, no una primavera. – skaffman
Nunca he usado Wicket. Pensé que se refería a las anotaciones de @Component, etc. Bueno saber. –
@SpringBean
funciona usando Wicket's underlying Injector mechanism. Cuando crea una instancia de un componente de Wicket, el constructor de la clase base de componentes de Wicket introspecta la clase que se está instanciando, buscando la anotación @SpringBean
. Si se encuentra el bean, Wicket genera un proxy para el bean de primavera y lo inyecta en el campo del componente. Este es el equivalente de Wicket de la anotación de Spring @Autowired
, el efecto es similar. No tiene, sin embargo, nada que ver con la funcionalidad de escaneo de contexto/clase de Spring propia (por ejemplo, @Component
), que trata sobre el descubrimiento automático de lo que es y no es un frijol, más bien tiene algo que ver con alambrado.
Para usar esto solo necesita agregar el oyente SpringComponentInjector a la aplicación Wicket para escuchar las instancias de los componentes. – Matt
La clase marcada con una anotación @SpringBean tiene que tener uno de:
- Un constructor sin argumentos
- Una superclase con un constructor sin argumentos
- implementar una interfaz
Se emitirá una excepción si no se cumplen estas condiciones, ya que Wicket no podrá usar el proxy de la clase.
esta es información útil, pero no es realmente una respuesta a la pregunta. podría ser mejor comentar la pregunta u otra respuesta. –
- 1. wicket @SpringBean no puede crear bean
- 2. ¿Cómo funciona el método Wicket setResponsePage()?
- 3. @PreAuthorize anotación no funciona seguridad de primavera
- 4. Cómo inyectar el archivo de propiedades completo en un springbean
- 5. Redirigir a la página externa no Wicket en Wicket 1.5
- 6. Extender la prueba de serialización de Wicket
- 7. ¿Cómo obtener la URL de un recurso compartido de Wicket?
- 8. Jersey: la anotación @Context para inyección. ¿Como funciona?
- 9. Maven2 junit timeout anotación no funciona
- 10. Wicket: cómo manejar tareas largas
- 11. Actualizado a EF5 ahora la anotación NotMapped no funciona
- 12. Spring MVC LocaleChangeInterceptor basado en la anotación no funciona
- 13. parámetro esquema de hibernación no funciona en @SequenceGenerator anotación
- 14. ¿La anotación Spring @Transactional no funciona con el auto-cableado?
- 15. JUnit @test espera que la anotación no funciona
- 16. Cómo definir una etiqueta de wicket personalizada
- 17. ¿Es positivo o no el caso de Springbean?
- 18. Spring MVC o Wicket?
- 19. Django queryset de actualización con la anotación
- 20. ¿Cómo cambio el texto de enlace en Wicket?
- 21. Cómo recuperar la anotación de datos de GroupName de ModelMetadata
- 22. spring @ Anotación de Transactional
- 23. Cómo portar la anotación de jaxb a la biblioteca simpleXml?
- 24. Wicket & CSS resources
- 25. Inyección de constructor utilizando la anotación de primavera @El cableado automático no funciona
- 26. (Wicket) Cambiar la visibilidad durante la respuesta de ajax
- 27. ¿Cómo eliminar una clase CSS de un componente de Wicket?
- 28. URL de imagen dinámica de Wicket
- 29. Separador en Wicket DropDownChoice
- 30. Wicket PropertyModel strangeness?
No hay una anotación '@ SpringBean' en Spring API. Hay uno en Wicket, sin embargo, ¿es eso lo que estás usando? – skaffman
Ah, no lo sabía, sí, estoy usando Wicket. Cambiaré la pregunta y las etiquetas para reflejar eso. Gracias. – Tarquila
@Tarquila - Creo que es más fácil solucionar esta cuestión para la primavera. Y agrega uno nuevo para Wicket. –