2012-03-29 21 views

risposta

62

È possibile utilizzare l'annotazione @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

C'è anche una bella costante da usare al posto della stringa: [ 'BeanDefinition.SCOPE_PROTOTYPE'] (http://static.springsource.org/spring/docs/2.5.3/api/org/springframework/ fagioli/fabbrica/config/BeanDefinition.html # SCOPE_PROTOTYPE) –

+5

Nell'annotazione Scope Javadoc, la costante recomeded è [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

La classe BeanDefinition è stata rimossa nella primavera 4? –

2

A partire dall'attuale spring version 4.3.2, è possibile utilizzare l'annotazione @Scope("prototype").

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

Direi che usare una costante fornita, come nella risposta accettata, è migliore. – herman

+0

@herman Cosa lo rende migliore? E c'è uno standard JSR per questo? – Steve

+4

@Steve nel caso in cui la stringa cambi (non molto probabile) o si voglia cercare riferimenti usando il proprio IDE – herman

Problemi correlati