markdown SpringTeoria。 Inyeccion de Dependencias

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown SpringTeoria。 Inyeccion de Dependencias相关的知识,希望对你有一定的参考价值。

## Inyeccion de Dependencias en Spring
- Spring crea todos los objetos al arrancar la aplicacion y los mete dentro de su container.
- Al hacer uso de nuestros objetos, solo basta con invocar a la inyeccion de dependencias
    - A estos objetos es a lo que se le llama **BEANS** 
- Al arrancar el servidor una de las tareas que realiza es escanear el proyecto y todas las clases Java que 
tengan @Anotacion a nivel de clase, las metera en su contenedor y pasaran a ser **BEANS** de la aplicacion.
Las principales anotaciones son las siguientes:
    - @Component: Es el padre de todas las anotaciones.
        - @Controller: Es un component con funcionalidades para la capa de presentacion
        - @Service: Es un component con funcionalidades para la capa de servicios.
        - @Repository: Es un component con funcionalidades para la capa de acceso a datos.
Ejemplo:

 ~~~
 //Interfaz
 public interface ControlService{
   controlSomething();
 }
 ~~~

Implementamos la interfaz:
~~~
@Service("miservicio") //Indicamos a Spring que meta un objeto llamado "mi servicio" a su container

public class ControlServiceImpl implements ControlService{
  @Override
  controlSomething(){
    
  }
}
~~~
Ahora hacemos uso de esa inyeccion de dependencias:
~~~
@Autowired //Esto le indica a Spring que lo que acabamos de declarar, se encuentra en su container

@Qualifier("miservicio") // Aqui indicamos el nombre del BEAN que queremos obtener, Sprng se encargara de inyectarlo y que lo podamos usar sin necesidad del operador NEW

private ControlService cs;
cs.controlSomething();
~~~

Una de las grandes ventajas de usar inyeccion de dependencias es que todas las clases que implementen la interfaz
pueden mandar un objeto a traves de la anotacion al container de Spring, de esta manera yo puedo ir a buscar 
ese ***BEAN*** en el @Qualifier sin necesidad de crear un nuevo objeto.

以上是关于markdown SpringTeoria。 Inyeccion de Dependencias的主要内容,如果未能解决你的问题,请参考以下文章

markdown Avro in Ubuntu.md

markdown 将PDO与IN子句一起使用

markdown Good-Practices-In-Js.md

markdown js_in_depth_async.md

markdown for / forEach / for ... in,什么是最好的?

markdown getting-started-in-scala.md