Resumo das perguntas mais frequentes da entrevista de primavera

1. Perguntas gerais

1.1.Quais são as principais funções das diferentes versões do Spring Framework?

Versão Feature
Spring 2.5 foi lançada em 2007. Esta é a primeira versão a suportar anotações.
A primavera 3.0 foi lançada em 2009. Ele aproveita totalmente as melhorias do Java5 e fornece suporte para JEE6
.
A primavera 4.0 foi lançada em 2013. Esta é a primeira versão com suporte total a JAVA8.

1.2. O que é Spring Framework?

Spring é uma estrutura de aplicativos de código aberto projetada para reduzir a complexidade do desenvolvimento de aplicativos. É leve e fracamente
acoplado.
Possui uma arquitetura em camadas que permite aos usuários selecionar componentes, ao mesmo tempo que fornece uma estrutura coesa para o desenvolvimento de aplicativos J2EE . Pode integrar outros frameworks, como Structs, Hibernate,
EJB, etc., por isso também é chamado de framework de frameworks.

1.3. Liste as vantagens do Spring Framework.

Devido à arquitetura em camadas do Spring Frameworks, os usuários são livres para escolher os componentes de que precisam.
Spring Framework suporta programação POJO (Plain Old Java Object), permitindo integração contínua
e testabilidade. JDBC é simplificado graças à injeção de dependência e inversão de controle. É de código aberto e gratuito.

1.4.Quais são as diferentes funções do Spring Framework?

Leve - Spring é leve em termos de tamanho de código e transparência. IOC - Inversão de Controle AOP -
A programação orientada a aspectos pode separar a lógica de negócios do aplicativo e os serviços do sistema para alcançar alta coesão. Container - Spring é responsável
por criar e gerenciar o ciclo de vida e configuração dos objetos (Beans). MVC - fornece um alto
grau de configurabilidade para aplicações web, e a integração de outras estruturas também é muito conveniente. Gerenciamento de transações – Fornece uma
camada de abstração comum para gerenciamento de transações. O suporte a transações do Spring também pode ser usado em ambientes com menos contêineres. Exceções JDBC -
A camada de abstração JDBC do Spring fornece uma hierarquia de exceções que simplifica estratégias de tratamento de erros.

1.5. Quantos módulos existem no Spring Framework e quais são eles?

Insira a descrição da imagem aqui
Spring Core Container – Esta camada é basicamente o núcleo do Spring Framework. Contém os seguintes módulos
:
 Spring Core
 Spring Bean
 SpEL (Spring Expression Language)
 Spring Context
Data Access/Integration – Esta camada fornece suporte para interação com o banco de dados. Ela contém os seguintes módulos:
 JDBC (Java DataBase Connectivity)
 ORM (Object Relational Mapping)
 OXM (Object XML Mappers)
 JMS (Java Messaging Service)
 Transaction
Web – Esta camada fornece suporte para a criação de aplicações web. Ela contém os seguintes módulos:
 Web
 Web – Servlet
 Web – Socket
 Web – Portlet
AOP
 Esta camada suporta programação orientada a aspectos
Instrumentação
 Esta camada fornece suporte para detecção de classes e implementação do carregador de classes.
Teste
 Esta camada fornece suporte para testes usando JUnit e TestNG.
Vários módulos diversos:
Mensagens – Este módulo fornece suporte para STOMP. Ele também oferece suporte a um modelo de programação de anotação para
roteamento e manipulação de mensagens STOMP de clientes WebSocket.
Aspectos – Este módulo fornece suporte para integração com AspectJ.

1.6. O que é o arquivo de configuração do Spring?

Os arquivos de configuração do Spring são arquivos XML. Este arquivo contém principalmente informações de classe. Ele descreve como essas classes são
configuradas e introduzidas umas nas outras. No entanto, os arquivos de configuração XML são detalhados e mais limpos. Se não for planejado
e escrito corretamente, gerenciar grandes projetos torna-se muito difícil.

1.7. Quais são os diferentes componentes de uma aplicação Spring?

Os aplicativos Spring geralmente possuem os seguintes componentes:
 Interface - define a funcionalidade.
 Classe Bean - contém propriedades, métodos setter e getter, funções, etc.
 Programação Orientada a Aspectos Spring (AOP) - Fornece a funcionalidade da programação orientada a aspectos.
 Arquivo de configuração do Bean - Contém informações sobre classes e como configurá-las.
 Programa do Usuário - Utiliza interfaces.

1.8. Quais são as formas de usar o Spring?

Existem as seguintes maneiras de usar o Spring:
 Como um aplicativo Web Spring completo.
 Como uma estrutura web de terceiros, use a camada intermediária do Spring Frameworks.
 Para uso remoto.
 Como um Java Bean de nível empresarial, ele pode agrupar POJOs (Plain Old Java
Objects) existentes.

2. Injeção de dependência (Ioc)

2.1. O que é o contêiner Spring IOC?

O núcleo da estrutura Spring é o contêiner Spring. Os contêineres criam objetos, montam-nos, configuram-nos
e gerenciam seu ciclo de vida completo. O contêiner Spring usa injeção de dependência para gerenciar os componentes que compõem um aplicativo
. O contêiner recebe instruções para instanciação, configuração e montagem de objetos lendo os metadados de configuração fornecidos
. Esses metadados podem ser fornecidos via XML, anotações Java ou código Java.
Insira a descrição da imagem aqui

2.2. O que é injeção de dependência?

Na injeção de dependência, você não precisa criar objetos, mas precisa descrever como criá-los. Em vez de conectar componentes e serviços diretamente no código
, você descreve quais componentes exigem quais serviços em um arquivo de configuração.
Eles são montados juntos pelo contêiner IoC .

2.3. De quantas maneiras a injeção de dependência pode ser concluída?

Geralmente, a injeção de dependência pode ser feita de três maneiras, a saber:
 Injeção de construtor
 Injeção de setter
 Injeção de interface
No Spring Framework, apenas injeção de construtor e setter são usadas.

2.4. Distinguir entre injeção de construtor e injeção de setter.

Injeção de construtor Injeção de setter
Há injeção parcial sem injeção parcial.
A propriedade setter não será substituída. A propriedade setter será substituída.
Qualquer modificação criará uma nova instância. Qualquer modificação não criará uma nova instância.
Adequado para definir muitas propriedades. Adequado para definir um pequeno número de propriedades.

2.5. Quantos tipos de contêineres IOC existem na primavera?

BeanFactory - BeanFactory é como uma classe de fábrica que contém uma coleção de beans.
Ele instancia o bean quando solicitado pelo cliente .
ApplicationContext - A interface ApplicationContext estende a interface BeanFactory. Ele fornece algumas funcionalidades adicionais baseadas no BeanFactory.

2.6. Distinguir entre BeanFactory e ApplicationContext.

BeanFactory ApplicationContext
Usa carregamento lento Usa carregamento just-in-time
Usa sintaxe para fornecer explicitamente objetos de recursos Cria e gerencia objetos de recursos por si só
Não suporta internacionalização Suporta internacionalização
Não suporta anotações baseadas em dependência Suporta anotações baseadas em dependência

2.7. Liste alguns benefícios do COI.

Alguns dos benefícios do IoC são:
 Ele minimizará a quantidade de código no aplicativo.
 Isso tornará seu aplicativo fácil de testar, pois não requer nenhum
mecanismo de pesquisa singleton ou JNDI em casos de teste de unidade.
 Promove acoplamento frouxo com impacto mínimo e mecanismos menos intrusivos.
 Suporta instanciação dinâmica e carregamento lento de serviços.
2.8. Mecanismo de implementação do Spring IoC.
O princípio de implementação do IoC no Spring é o padrão de fábrica mais o mecanismo de reflexão.
Exemplo:

interface Fruit {
public abstract void eat();
}
class Apple implements Fruit {
public void eat(){
System.out.println("Apple");
} }
class Orange implements Fruit {
public void eat(){
System.out.println("Orange");
} }
class Factory {
public static Fruit getInstance(String ClassName) {
Fruit f=null;
try {
f=(Fruit)Class.forName(ClassName).newInstance();
} catch (Exception e) {
e.printStackTrace();
}
return f;
} }
class Client {
public static void main(String[] a) {
Fruit f=Factory.getInstance("io.github.dunwu.spring.Apple");
if(f!=null){
f.eat();
} } }

Ainda não finalizado, o artigo continuará...

Acho que você gosta

Origin blog.csdn.net/mars131458/article/details/132103300
Recomendado
Clasificación