estoy usando configuración basada en Java para configurar mi contexto de aplicación de primavera como esta:¿Cómo cargar todos los frijoles perezosamente con @ComponentScan en Spring?
@Configuration
@Lazy
@ComponentScan(basePackageClasses = {MyProject.class, OtherProject.class})
public class MyAppConfig {
...
}
Frijoles definidas explícitamente en la configuración son cargados con pereza, como era de esperar. Sin embargo, las clases escaneadas anotadas con @Named
siempre se cargan con entusiasmo. ¿Como puedo resolver esto?
Cualquier ayuda es apreciada.
Tenga en cuenta que para las clases en el paquete MyProject
, puedo solucionar este anotando con @Lazy
también. Pero el otro proyecto no tiene una dependencia de Spring y quiero mantenerlo así (de ahí @Named
y no @Component
).
Tenga en cuenta también que esto no parece ser un problema en la configuración basada en XML. Allí, estableciendo default-lazy-init="true"
en las costuras de etiqueta <beans>
para hacer lo que quiero (aunque no lo he probado).
Así que trata de la adición de pequeñas ' 'y deje reposo en la configuración de Java. Si no hay forma de hacerlo con '@ Configuration', no dude en [plantear un problema] (https://jira.springsource.org/secure/Dashboard.jspa). –
verifique esto: http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/context/annotation/Lazy.html – Elbek
Hay un informe de error abierto al respecto: https: // jira.spring.io/browse/SPR-10459 –