Spring: Créer une nouvelle instance de bean pour chaque méthode d'appel de get
J'ai à côté de la situation:
Connection manager
devrait avoir à chaque fois un objet de ConnectionServer
et de nouveaux objets de DataBean
Donc, j'ai créé ces haricots et configurés, il ressort xml.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<bean id="dataBena" class="com.test.DataBean" scope="prototype"/>
<bean id="servCon" class="com.test.ServerCon"/>
<!--<bean id="test" class="com.test.Test"/>-->
<context:component-scan base-package="com.test"/>
</beans>
et a ajouté portée prototype
pour DataBean
Après ce que j'ai créé simple util/classe de composant appelé Test
@Component
public class Test {
@Autowired
private DataBean bean;
@Autowired
private ServerCon server;
public DataBean getBean() {
return bean.clone();
}
public ServerCon getServer() {
return server;
}
}
MAIS, à Chaque moment de l'appel getBean() la méthode je suis le clonage de cette fève, et c'est le problème pour moi.
Puis-je le faire à partir du printemps de configuration sans usning méthode clone?
Merci.
source d'informationauteur Sergii Zagriichuk
Vous devez vous connecter pour publier un commentaire.
Vous êtes à la recherche pour méthode de recherche fonctionnalité au Printemps. L'idée est de vous fournir un résumé de la méthode comme ceci:
Et dites Printemps qu'il doit mettre en œuvre au moment de l'exécution:
Maintenant, chaque fois que vous appelez
Test.getBean
vous fait appeler le Printemps-méthode de génération. Cette méthode va demanderApplicationContext
pourDataBean
instance. Si ce bean estprototype
de portée, vous obtiendrez la nouvelle instance à chaque fois que vous l'appelez.J'ai écrit à propos de cette fonctionnalité ici.