2012-03-29 24 views

Respuesta

62

Puede usar la anotación @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE).

@Service 
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) 
public class CustomerService 
{ 
...... 
} 
  1. Spring API Docs.
  2. Example of the mapping.
  3. Scope annotation reference.
+9

También hay una constante agradable de usar en lugar de la cadena: [ 'BeanDefinition.SCOPE_PROTOTYPE'] (http://static.springsource.org/spring/docs/2.5.3/api/org/springframework/ beans/factory/config/BeanDefinition.html # SCOPE_PROTOTYPE) –

+5

En la anotación Javadoc de la aplicación Scope, la constante recomendada es [ConfigurableBeanFactory.SCOPE_PROTOTYPE] (http://docs.spring.io/spring/docs/3.2.5.RELEASE/javadoc -api/org/springframework/beans/factory/config/ConfigurableBeanFactory.html # SCOPE_PROTOTYPE) – jfcorugedo

+0

¿Se eliminó la clase BeanDefinition en Spring 4? –

2

A partir de la actual spring version 4.3.2, podemos utilizar la anotación @Scope("prototype").

@Scope("prototype") 
@Repository 
public class MovieFinderImpl implements MovieFinder { 
    // ... 
} 
+1

Yo diría que usar una constante provista, como en la respuesta aceptada, es mejor. – herman

+0

@herman ¿Qué lo hace mejor? ¿Y hay un estándar JSR para esto? – Steve

+4

@Steve en caso de que la cadena cambie (no muy probable) o si desea buscar referencias con su IDE – herman

Cuestiones relacionadas