Maison >Java >javaDidacticiel >Explication détaillée de la fonction d'injection de dépendances dans SpringBoot

Explication détaillée de la fonction d'injection de dépendances dans SpringBoot

PHPz
PHPzoriginal
2017-04-12 14:23:422828parcourir

Cet article présente principalement l'implémentation détaillée de la fonction d'injection de dépendances dans SpringBoot. L'implémentation de SpringBoot est essentiellement implémentée via des annotations. Ceux qui sont intéressés peuvent le découvrir.

Aujourd'hui, je vais vous présenter comment implémenter l'injection de dépendances dans SpringBoot.

Dans l'utilisation passée de Spring, l'injection de dépendances était généralement implémentée en ajoutant des méthodes de bean dans le fichier de configuration Spring. Par rapport à cette méthode, l'implémentation de SpringBoot est très pratique. L'implémentation de SpringBoot est essentiellement implémentée via des annotations.

Jetons un coup d'œil à un cas spécifique. Ici, j'ai écrit trois classes de test pour tester si l'injection de dépendances peut être implémentée correctement.

Interface TestBiz :

package example.biz; 
public interface TestBiz { 
  public String getTest(String str); 
}

Classe d'implémentation de l'interface TestBizImp :

package example.biz.imp; 
import example.biz.TestBiz; 
import org.springframework.stereotype.Component; 
/** 
  @Service用于标注业务层组件 
  @Controller用于标注控制层组件(如struts中的action) 
  @Repository用于标注数据访问组件,即DAO组件 
  @Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。 
 */ 
@Component 
public class TestBizImp implements TestBiz { 
  @Override 
  public String getTest(String str) { 
    return "Return value is:"+str; 
  } 
}


Ici vous pouvez voir les quatre données ci-dessus Annotations , ces quatre annotations peuvent effectivement implémenter la fonction d'injection, mais leurs utilisations sont différentes. Il est préférable d'ajouter ces annotations en fonction des métiers spécifiques.

Classe TestController :

@Controller 
public class TestController { 
  @Autowired 
  private TestBiz testBiz; 
  @RequestMapping("/getTest") 
  @ResponseBody 
  public String getTest(String str){ 
    return testBiz.getTest(str); 
  } 
}

Ici, vous devez ajouter l'annotation @Autowired sur l'interface. La fonction de cette annotation est d'implémenter l'opération d'instanciation de TestBiz, qui est. équivalent à l'opération bean au Spring .
Après avoir terminé cela, vous pouvez démarrer le projet et tester si l'injection de dépendances a été implémentée. Les résultats en cours sont les suivants :

De cette façon, SpringBoot a déjà implémenté la fonction d'injection de dépendances n'est-ce pas beaucoup plus simple que le processus d'implémentation de Spring ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn