2014-05-20 3 views
0

Spring prend en charge ?Est-ce que le ressort prend en charge l'injection d'interface?

De "Martin Fowler" blog il a été mentionné qu'un composant qui dépend d'un bean doit être implémenté comme Interface qui injecte Bean.

Lorsque nous considérons ce scénario, il sera possible BeanNameAware, XXXAware Interfaces qui injecte l'objet bean approprié.

Est-il possible d'injecter userdefinedd Haricots en utilisant Interface Injection autres que les classes fournies par le ressort.

Je suis confus avec tout ce qui précède.

Répondre

1

C'est un concept correct et canonique.

Vous comptez sur contrat (interfaces) et les injectent, mais conteneur prend soin de leur mise en œuvre:

public interface MyService {} 

public class MyServiceImpl implements MyService {} 

<bean id="myService" class="com.my.proj.MyServiceImpl"/> 

public class MyController { 

    @Autowired 
    private MyService service; 

} 

Ne pas mélanger les composants contaier et son API (*Aware) et des composants d'application définis par l'utilisateur.

Questions connexes