Spring fundamentals Flashcards
Cuales son los motivos por los que utilizarias Spring en lugar de EJB
Por que se pueden ejecutar en un web server y no en un application server, tenemos mucho soporte, tenemos backward y forward compatibility
Cuales son los tipos de inyeccion de dependencia en Srping
Se puede hacer por variable de instancia, por setter o por constructor
Cuales son los tipos de configuraciones que se pueden realizar con spring
Se pueden hacer por XML, por java y anotaciones y por java puro
Cuando se utiliza java anotation y xml configuration que archivo se debe generar para la configuracion
Se debe de poner un archivo xml el cual contendra los beans y los mapeos de estos si es xml o la orden de que se usen anotaciones y donde escaneara si es java-annotation, generalmente se llama applicationContext.xml pero el nombre no importa
Da una ventaja de utilizar configuraion via XML
Una ventaja es que se separa toda la configuracion del codigo, por lo cual si queremos modificar no tenemos que recompilar
Cuando se usa inyeccion en el construtor como se indican el orden de los argumentos en xml
Se indican por medio de un indice, el indice es la posicion del argumento que queremos inyectar
Define Autowire por tipo
Se utiliza un setter y dependiendo del tipo del setter lo va a resolver, es por eso que esto solo funciona si hay un solo setter del tipo que estamos buscando, solo es especifica en el xml autowired= “byType” y en la clase solo debe de haber un setter de un tipo, tambien aqui no importa el nombre del setter, por ejemplo tenemos private String name y su setter setName(String nama), lo mismo podemos poner setNames(String) y no importaria ya que resuelve por tipo y no por nombre
Define autowired by name
Aqui se va a buscar por nombre y resuelve el tema de por tipo, ya que va a resolver por el nombre del setter por lo cual se debe de respetar por ejemplo tenemos una variable private String name y un setter setName(String name) de esa manera va a funcionar, pero si en lugar de ese setter tenemos setNames(String name), no podra resolverlo, solo se especifica en el xml autowired=”byName”
A que se refiere el application context
Se refiere a que va ser donde van a vivir nuestros beans y desde donde vamos a escanear por nuestros beans, por ejemplo desde donde escaneara el scannercomponent
Define los tipos de estereotipos
Esta el @Component, @Service, @Repository, son POJOs los cuales para spring solo indican que son beans, y para nosotros los humanos que es una marca que se le pone a un bean dependiendo de la capa en la que se utiliza, si bien en lugar de service usaramos component no habria diferencia para spring
Como se hace un autowired por tipo en xml
Se realiza por medio de la propiedad autowired=”byType”
Como se hace un autowired por nombre en xml
Solo se especifica en la propiedad autowired=”byName”
Que hace el component scan
va a buscar beans por medio de @Autowired y estereotipos
Por que es bueno utilizar autowired por medio de antacion
Por que es mas explicito en que contexto se esta aplicando el autowired, por ejemplo a nivel:
- variable de instancia
- Setter
- Constructor
Como se utiliza la configuracion pura java en spring
Se remplaza el archivo xml por una clase que es marcada como @Configuration, en la cual vamos a poner los beans por medio de la anotacion @Bean(“nombre”) en metodos, no importando el nombre del metodo