Spring fundamentals Flashcards

1
Q

Cuales son los motivos por los que utilizarias Spring en lugar de EJB

A

Por que se pueden ejecutar en un web server y no en un application server, tenemos mucho soporte, tenemos backward y forward compatibility

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Cuales son los tipos de inyeccion de dependencia en Srping

A

Se puede hacer por variable de instancia, por setter o por constructor

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Cuales son los tipos de configuraciones que se pueden realizar con spring

A

Se pueden hacer por XML, por java y anotaciones y por java puro

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Cuando se utiliza java anotation y xml configuration que archivo se debe generar para la configuracion

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Da una ventaja de utilizar configuraion via XML

A

Una ventaja es que se separa toda la configuracion del codigo, por lo cual si queremos modificar no tenemos que recompilar

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Cuando se usa inyeccion en el construtor como se indican el orden de los argumentos en xml

A

Se indican por medio de un indice, el indice es la posicion del argumento que queremos inyectar

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Define Autowire por tipo

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Define autowired by name

A

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”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

A que se refiere el application context

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Define los tipos de estereotipos

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Como se hace un autowired por tipo en xml

A

Se realiza por medio de la propiedad autowired=”byType”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Como se hace un autowired por nombre en xml

A

Solo se especifica en la propiedad autowired=”byName”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Que hace el component scan

A

va a buscar beans por medio de @Autowired y estereotipos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Por que es bueno utilizar autowired por medio de antacion

A

Por que es mas explicito en que contexto se esta aplicando el autowired, por ejemplo a nivel:

  • variable de instancia
  • Setter
  • Constructor
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Como se utiliza la configuracion pura java en spring

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Define el scope singleton

A

Es el que es por default, pero indica que solo tendremos una instancia de el bean en todo el application context, de tal manera que si creamos dos instancias pidiendo el bean, su hash code sera el mismo, no se debe de especificar nada ya que es por default pero podemos indicarlo en el xml o por anotacion @Scope(“singleton”)

17
Q

Define scope prototype

A

En este nos creara un bean nuevo cada vez que pidamos el bean del contexto, de tal manera que si generamos dos instancias del bean tendriamos dos hashes diferentes al momento de imprimirlos

18
Q

Cuales son los scopes web en spring

A
  1. Request: es como el prototype pero a nivel de peticion html
  2. Session: una instancia del bean por session definida para usuario
  3. Global: una instancia de bean por aplicacacion, es decir al momento de iniciarlo se generara la instanicia y sera consumida por todos los clientes del sistema
19
Q

Como se pueden leer propiedades desde spring con XML

A

por medio de una propiedad property-placeholder en la cual le vamos a indicar cual es nuestro archivo .properties que generalmente este en nuestros resouces y de ahi injectamos a donde la queremos usar por medio de @Value(“${valor}”) private String name;

20
Q

Como se pueden leer las propiedades desde anotaciones java

A

Por medio de @PropertySource

21
Q
A