El sexto día del análisis del código fuente de primavera------preguntas de entrevista clásicas de primavera

El sexto día del análisis del código fuente de primavera------preguntas de entrevista clásicas de primavera

1. Nuevas funciones y ejemplos de aplicación de Spring5

inserte la descripción de la imagen aquí

2. Preguntas de entrevista clásicas de primavera

a. ¿Qué es el marco Spring? ¿Cuáles son los principales módulos de Spring Framework?

El marco Spring es una plataforma Java que proporciona un soporte fundamental completo y extenso para el desarrollo de aplicaciones Java. Spring ayuda a los desarrolladores a resolver problemas básicos en el desarrollo, para que los desarrolladores puedan concentrarse en el desarrollo de aplicaciones.

b. ¿Cuáles son los beneficios de usar Spring Framework?

IOC y DI, transaccional, springMVC, Spring AOP

C. Hay tres métodos de implementación de inyección de dependencia en Java:

Inyección interfaz –> @Autowired: montaje automático

构造器注入:
 @Autowired //构造器注入  
private TestBean11(String message) {  
    this.message = message;  
}

setter注入:

private String message;  
@Autowired //setter方法注入  
public void setMessage(String message) {  
    this.message = message;  
} 

字段注入:

clase pública TestBean12 { @Autowired // mensaje de cadena privado de inyección de campo; // omitir getter y setter }



Inyección del método Setter:

    //注入对象springDao  
private SpringDao springDao;  
    //一定要写被注入对象的set方法  
    public void setSpringDao(SpringDao springDao) {  
    this.springDao = springDao;  
} 

inyección de constructor

//注入对象springDao  
private SpringDao springDao;  
private User user;  
  
public SpringAction(SpringDao springDao,User user){  
    this.springDao = springDao;  
    this.user = user;  
    System.out.println("构造方法调用springDao和user");  
}  

3. ¿Cuál es la diferencia entre BeanFactory y ApplicationContext?

BeanFactory puede entenderse como una clase de fábrica que contiene una colección de beans. BeanFactory contiene la definición de un bean, para instanciar el bean correspondiente al recibir una solicitud del cliente.
BeanFactory también puede generar relaciones entre clases colaboradoras al crear instancias de objetos. Esto libera la configuración del propio bean y del bean client.
BeanFactory también incluye el control del ciclo de vida del bean, llamando a los métodos de inicialización del cliente (métodos de inicialización) y métodos de destrucción (métodos de destrucción).
En la superficie, como una fábrica de beans, el contexto de la aplicación tiene una definición de beans, una configuración de asociación de beans y la función de distribuir beans de acuerdo con la solicitud. Pero el contexto de la aplicación también proporciona otras funciones sobre esta base.
Proporciona mensajes de texto que admiten la internacionalización;
un método de lectura de archivos de recursos unificado;
eventos de beans que se han registrado en el oyente

4. ¿Cuántos métodos de configuración proporciona Spring para establecer metadatos?
Hay tres formas de configurar Spring en el desarrollo de aplicaciones:
1. Configuración basada en XML
2. Configuración basada en anotaciones
3. Configuración basada en Java

5. ¿Cómo configurar Spring basado en la configuración de Java?

El soporte de Spring para la configuración de Java se realiza mediante la anotación @Configuration y la anotación @Bean.
El método anotado por @Bean instanciará, configurará e inicializará un nuevo objeto, que será administrado por el contenedor IOC de Spring.
Una declaración de @Bean actúa como un elemento.
Una clase anotada por @Configuration indica que el propósito principal de esta clase es como un recurso de definición de bean. Las clases declaradas con @Configuration pueden establecer dependencias en beans incrustados llamando a métodos @bean dentro de la misma clase.

6. ¿Cómo configurar Spring con anotaciones?

1. @Obligatorio: esta anotación se aplica al método de valor establecido.
2. @Autowired: esta anotación se aplica a métodos de establecimiento de valores, métodos de no establecimiento, métodos de construcción y variables.
3. @Qualifier: esta anotación se usa junto con la anotación @Autowired para desambiguar el ensamblaje automático de un bean específico.
4. Anotaciones JSR-250: Spring admite las siguientes anotaciones basadas en anotaciones JSR-250, @Resource, @PostConstruct y @PreDestroy.

7. Explique el ciclo de vida de Spring Bean.

inserte la descripción de la imagen aquí

8. ¿Cuál es la diferencia entre los ámbitos de Spring Bean?

1.singleton: este ámbito de bean es el predeterminado. Este ámbito garantiza que no importa cuántas solicitudes reciba, solo hay una instancia de bean en cada contenedor, y el modo singleton lo mantiene la propia fábrica de beans.

2.prototipo: el ámbito prototipo es lo opuesto al ámbito único, y proporciona una instancia para cada solicitud de bean.

3.solicitud: se creará una instancia para cada solicitud de red del cliente dentro del alcance del bean de solicitud. Una vez completada la solicitud, el bean dejará de ser válido y será reclamado por el recolector de elementos no utilizados.

4. Sesión: similar al alcance de la solicitud, asegúrese de que haya una instancia de bean en cada sesión, y el bean dejará de ser válido después de que caduque la sesión.

5. sesión global: la sesión global está relacionada con la aplicación Portlet. Cuando su aplicación se implementa para trabajar en un contenedor de portlets, contiene muchos portlets. Si desea declarar una variable de almacenamiento global para todos los portlets, esta variable global debe almacenarse en una sesión global. El alcance global tiene el mismo efecto que el alcance de la sesión en Servlets.

9. ¿Los beans singleton en el marco Spring son seguros para subprocesos?

inserte la descripción de la imagen aquí
10. ¿Cuál es la diferencia entre FileSystemResource y ClassPathResource?

inserte la descripción de la imagen aquí

11. ¿Qué patrones de diseño se utilizan en el marco Spring?

1. Modo proxy: se usa más en AOP y en remoto.

2. Modo singleton: el bean definido en el archivo de configuración de Spring tiene por defecto el modo singleton.

3. Modo de plantilla: se utiliza para resolver el problema de la duplicación de código. Por ejemplo, RestTemplate, JmsTemplate, JpaTemplate.

4. Modo de delegación: Srping proporciona DispatcherServlet para distribuir solicitudes.

5. Modo de fábrica: BeanFactory se utiliza para crear instancias de objetos, que se ejecutan a través del concepto central de la interfaz BeanFactory/ApplicationContext.

6. Modo proxy: la tecnología de implementación subyacente del pensamiento AOP, JDK Proxy y la biblioteca de clases CgLib se utilizan en Spring.

12. ¿Cómo usar JDBC de manera más efectiva en el marco Spring?

Con el marco Spring JDBC, se reduce el costo de la gestión de recursos y el manejo de errores. Los desarrolladores solo necesitan acceder a los datos de la base de datos a través de declaraciones y consultas. JDBC se puede usar de manera más eficiente en Spring Framework mediante el uso de clases de plantilla, también conocidas como JdbcTemplate.

13. Por favor, explique el COI en el marco de primavera.

La interfaz BeanFactory proporciona un mecanismo de configuración avanzado que hace posible configurar cualquier tipo de objeto. La interfaz ApplicationContex amplía BeanFactory (una subinterfaz) y agrega otras funciones basadas en BeanFactory, como una integración más sencilla con AOP de Spring, y también proporciona un mecanismo para procesar recursos de mensajes (para internacionalización) y propagación de eventos. capa de aplicación, como WebApplicationContext para aplicaciones web.

Supongo que te gusta

Origin blog.csdn.net/weixin_37766296/article/details/113061600
Recomendado
Clasificación