Injection de dépendances (IoC)
Complétez les paramètres d'injection de dépendances en déclarant @Inject
和@By
annotations sur les attributs des membres de classe, et seuls les objets de classe gérés par le conteneur Bean prennent en charge l'injection de dépendances. Voici un exemple :
Exemple :
// 业务接口 public interface IDemo { String sayHi(); } // 业务接口实现类1 @Bean public class DemoOne implements IDemo { public String sayHi() { return "Hello, YMP! I'm DemoOne."; } } // 业务接口实现类2 @Bean public class DemoTwo implements IDemo { public String sayHi() { return "Hello, YMP! I'm DemoTwo."; } }
. -
Code de test :
@Bean public class TestDemo { @Inject private IDemo __demo1; @Inject @By(DemoOne.class) private IDemo __demo2; public void sayHi() { // _demo1注入的将是最后被注册到容器的IDemo接口实现类 System.out.println(__demo1.sayHi()); // _demo2注入的是由@By注解指定的DemoOne类 System.out.println(__demo2.sayHi()); } public static void main(String[] args) throws Exception { YMP.get().init(); try { TestDemo _demo = YMP.get().getBean(TestDemo.class); _demo.sayHi(); } finally { YMP.get().destroy(); } } }