Ich habe ein Problem zu lösen: 1) unser Projekt verwendet Spring JavaConfig Ansatz (also keine XML-Dateien) 2) Ich muss benutzerdefinierten Bereich erstellen, Beispiel in XML sieht so aus :Spring JavaConfig, Bean benutzerdefinierte Bereiche und Anmerkungen
<bean class="org.springframework.beans.factory.config.CustomScopeConfigurer">
<property name="scopes">
<map>
<entry key="workflow">
<bean
class="com.amazonaws.services.simpleworkflow.flow.spring.WorkflowScope" />
</entry>
</map>
</property>
ich es mit JavaConfig wird es heraus sieht wie folgt aus etwas:
@Bean
public CustomScopeConfigurer customScope() {
CustomScopeConfigurer configurer = new CustomScopeConfigurer();
Map<String, Object> workflowScope = new HashMap<String, Object>();
workflowScope.put("workflow", new WorkflowScope());
configurer.setScopes(workflowScope);
return configurer;
}
mich
korrigieren i Ich liege falsch mit meiner Annahme.
3) Ich brauche meine Klasse etwas wie @Component (scope = "Workflow") wieder XML-Konfiguration wie folgt aussehen würde mit Anmerkungen versehen: So
<bean id="activitiesClient" class="aws.flow.sample.MyActivitiesClientImpl" scope="workflow"/>
im Grunde ist die Frage - bin ich richtig mit meiner Annahme, @Component zu verwenden (scope = "workflow") oder auf eine andere Art zu erwarten?
Dank
Ich habe nur die Warnung '@Bean Methode getWorkflowScope ist nicht statisch und gibt ein Objekt zurück, das der BeanFactoryPostProcessor-Schnittstelle von Spring zuweisbar ist. Dies führt dazu, dass Annotationen wie @Autowired, @Resource und @PostConstruct nicht innerhalb der deklarierenden @Configuration-Klasse der Methode verarbeitet werden. Fügen Sie dieser Methode den Modifikator "static" hinzu, um diese Probleme mit dem Container-Lebenszyklus zu vermeiden. "Bitte beachten Sie, Ihre Methode sollte' @ Bean public ** statisch lesen ** CustomScopeConfigurer –