As 80 principais perguntas da entrevista do Spring MVC (2025)

Aqui estão as perguntas e respostas da entrevista do Spring MVC para candidatos mais novos e experientes para conseguir o emprego dos sonhos.

 

Perguntas e respostas da entrevista do Spring MVC para calouros

1) O que é uma mola?

Spring está definido para ser uma estrutura que ajuda Java programador para desenvolvimento de código e fornece contêiner IOC, injetor de dependência, fluxo MVC e muitas outras APIs para o programador Java.


2) O que são conselhos na primavera?

É a execução de um aspecto. Conselho é como fazer seu aplicativo aprender um novo truque. Eles geralmente são introduzidos em joinpoints.

👉 Download gratuito de PDF: Perguntas e respostas da entrevista do Spring MVC Framework


3) Qual é o escopo padrão do bean no framework Spring?

O escopo padrão do bean é Singleton para estrutura Spring.


4) Cite os tipos de gerenciamento de transações suportados pelo Spring?

O gerenciamento de transações suportado pelo Spring é:

  • Gerenciamento de transações declarativas.
  • Gerenciamento de transações programáticas.

5) Os beans Singleton são thread-safe no Spring Framework?

Não, os beans singleton não são seguros para threads na estrutura Spring.


6) Quais são os benefícios do Spring Framework?

A seguir estão os benefícios de Estrutura de primavera:

  • Uso extensivo de componentes
  • Reutilização
  • Dissociação
  • Reduz o esforço de codificação usando implementações de padrões como singleton, fábrica, localizador de serviço, etc.
  • Remoção de conexões com vazamento
  • Gerenciamento de transações declarativas
  • Fácil de integrar com ferramentas e tecnologias de terceiros.

Perguntas da entrevista do Spring MVC
Perguntas da entrevista do Spring MVC


7) O que é Fábrica de Feijão?

Bean Factory é o núcleo do framework Spring e é um contêiner leve que carrega definições de bean e gerencia seus beans. Os beans são configurados usando arquivo XML e gerenciam o bean definido como singleton. Também é responsável pelos métodos do ciclo de vida e injeta dependências. Ele também remove singletons e fábricas ad hoc.


8) Definir fiação de feijão?

A fiação de beans é a criação de associações entre os componentes do aplicativo que estão entre os beans em um contêiner Spring específico.


9) O que é chamado de Spring MVC?

Um Spring MVC é uma única instância de controlador compartilhado e é usado para lidar com controladores do tipo solicitação, interceptores que são executados no contêiner IoC. Ele também permite vários Dispatcher Servlets que podem compartilhar a interface de contexto do aplicativo, mas não a interface baseada em classe.


10) Por que o framework Spring é necessário?

A estrutura Spring é necessária porque é –

  • Recipiente muito leve
  • Quadro
  • COI
  • AOP

11) Cite os vários módulos usados ​​no framework Spring?

  • Módulo AOP (Programação Orientada a Aspectos)
  • Abstração JDBC e módulo DAO
  • O módulo de contêiner principal
  • Módulo de estrutura MVC
  • Módulo de contexto de aplicativo
  • Módulo de integração de mapeamento O/R (Objeto/Relacional)
  • Módulo web

12) Explique o RowCallbackHandler no Spring?

O RowCallbackHandler é chamado para cada linha no ResultSet e é usado para ler valores do ResultSet.


13) Definir módulo de contexto do aplicativo?

Este é um módulo muito importante e fornece vários serviços necessários como integração EJB, comunicação remota, acesso JNDI e agendamento. Transforma a primavera em uma estrutura. Também amplia a ideia do BeanFactory pela aplicação de eventos de ciclo de vida, fornecendo suporte para mensagens de internacionalização e validação.


14) Escreva sobre o módulo AOP?

O módulo AOP é utilizado para criar aspectos para aplicativos Spring. Ele também permite suporte para programação de metadados no Spring.


15) O que é uma interface BeanFactory?

A interface Bean Factory é usada para fornecer estrutura de configuração para criação de objetos e funcionalidade básica em torno do gerenciamento de objetos.


16) Indique as diferenças entre ApplicationContext e BeanFactory na primavera?

  • ApplicationContext permite a existência de mais de um arquivo de configuração, enquanto BeanFactory permite apenas um.
  • ApplicationContext pode imprimir eventos em beans registrados como ouvintes. Este recurso não é suportado pelo BeanFactory.
  • ApplicationContext também fornece suporte para aplicação de eventos de ciclo de vida, mensagens de internacionalização e validação e também fornece serviços como integração EJB, comunicação remota, acesso JNDI e agendamento. Esses recursos também não são suportados pelo Bean Factory.

17) O que é fiação automática?

Autowiring é usado para construir relacionamentos entre os beans colaboradores. O contêiner Spring pode resolver automaticamente os colaboradores para beans.


18) Quais são os diferentes modos de fiação automática?

A fiação automática tem cinco modos diferentes:

  • não: sem ligação automática
  • porNome: Fiação automática que pode ser feita pelo nome da propriedade
  • por tipo: tipo de propriedade como autowired
  • construtor: É semelhante a byType e sua propriedade está no construtor
  • detecção automática: Spring tem permissão para selecionar autowiring de byType ou construtor

19) Como começar a usar a primavera?

As etapas a seguir precisam ser executadas para começar com a primavera:

  • Baixe o Spring e seu arquivo dependente do site do spring.
  • Crie um xml de contexto de aplicativo para definir beans e suas dependências
  • Integre o xml do contexto do aplicativo com o web.xml
  • Implantar e executar o aplicativo

20) Quais são os métodos do ciclo de vida do feijão?

Existem dois métodos importantes de ciclo de vida do Bean:

  • Setup – chamado quando o bean é carregado no contêiner
  • Teardown – chamado quando o feijão é descarregado no contêiner

21) Quais são os diferentes tipos de eventos de Ouvintes?

A seguir estão os diferentes tipos de eventos de ouvintes:

  • ContextClosedEvent – Este evento é chamado quando o contexto é fechado.
  • Evento ContextRefreshed – Este evento é chamado quando o contexto é inicializado ou atualizado
  • RequestHandledEvent – Este evento é chamado quando o contexto da web trata a solicitação

22) Diferencie entre bean singleton e protótipo?

Singleton significa que apenas um bean é definido por instância de objeto, enquanto Protótipo significa uma definição para mais de uma instância de objeto no Spring.


23) Quais são os tipos de injeção de dependência?

Dois tipos de injeção de dependência são suportados pelo framework Spring:

  • Injeção de Incubador
  • Injeção de construtor

24) Escreva sobre o módulo contêiner Core?

O módulo contêiner principal é responsável pela funcionalidade básica da estrutura Spring. Todo o framework Spring é construído com este módulo como base.


25) O que é módulo AOP?

Este módulo AOP é usado para aplicações habilitadas para mola. Foi fornecido apoio à aliança AOP para garantir a interoperabilidade entre o Spring e outras estruturas AOP.

Ele instrui o Spring a adicionar anotações ao código-fonte e informar como aplicar aspectos.


Perguntas da entrevista Spring MVC para experientes

26) O que é Aliança AOP?

A aliança AOP é um projeto de código aberto que visa promover a adoção do AOP. O objetivo da aliança AOP é definir um conjunto comum de componentes e interfaces para melhorar a interoperabilidade entre diferentes implementações de AOP.


27) O que é chamado de arquivo de configuração spring?

O arquivo de configuração Spring é um arquivo XML e contém informações de classe. Também descreve como essas classes são configuradas e interagem entre si.


28) Quais são os diferentes tipos de Autowire?

Existem quatro tipos diferentes de fio automático:

  • porNome
  • por tipo
  • construtor
  • AutoDetect

29) Quais são os tipos de gerenciamento de transações suportados pelo Spring?

A seguir estão os tipos de gerenciamento de transações que foram suportados pela primavera:

  • declarativo
  • programaticamente

30) Quando é utilizado o gerenciamento de transações declarativo e programático?

Quando existe apenas uma pequena quantidade de operações transacionais, é aconselhável usar o gerenciamento programático de transações. Mas se houver uma grande quantidade de operações transacionais a serem realizadas, o gerenciamento declarativo de transações é o preferido.


31) O que é o COI?

IOC (padrão de inversão de controle) também é conhecido como injeção de dependência. O IOC orienta os programadores a descrever como criar objetos em vez de realmente criá-los. Mas neste padrão de design, esse controle foi dado ao montador e o montador instanciará a classe necessária, se necessário.


32) Escreva sobre os diferentes tipos de eventos relacionados ao Listener.

Os diferentes tipos de eventos relacionados aos ouvintes são:

  • Evento ContextRefreshed – É chamado quando o contexto é atualizado ou inicializado.
  • RequestHandledEvent – É chamado quando o contexto da web está processando uma solicitação.
  • ContextClosedEvent – Isso é chamado quando o contexto é fechado.

33) O que é um Aspecto?

Aspect também é chamado de registro, que é necessário em todo o aplicativo. Logging ou aspecto é uma funcionalidade transversal em um aplicativo que usa AOP.


34) O que é um ponto de junção?

O ponto onde um aspecto pode ser introduzido na aplicação é conhecido como joinpoint. Este ponto pode ser um campo sendo modificado, um método sendo chamado ou até mesmo uma exceção sendo lançada. Nestes pontos, o código do novo aspecto pode ser adicionado para introduzir um novo comportamento à aplicação.

O código do aspecto pode ser inserido neste ponto no fluxo normal do aplicativo para alterar o comportamento atual.


35) O que é chamado de Conselho?

O conselho informará o aplicativo sobre o novo comportamento e é a implementação de um aspecto. Ele é inserido em uma aplicação no joinpoint.

Conselho é a implementação de um aspecto. É algo como informar à sua aplicação um novo comportamento. Geralmente, o conselho é inserido em uma aplicação em joinpoints.


36) O que é um Pointcut?

Pointcut é usado para permitir onde o conselho pode ser aplicado.


37) O que é tecelagem?

Weaving é usado para criar um novo objeto proxy aplicando aspectos ao objeto de destino.


38) Qual é a diferença entre bean singleton e protótipo?

Feijão Solteiro – Definição de bean único para uma única instância de objeto por contêiner Spring IOC

Protótipo de Feijão – Definição de bean único para qualquer número de instâncias de objeto por Spring IOC Container


39) Em que pontos pode ser aplicada a tecelagem?

A seguir estão os pontos onde a tecelagem pode ser aplicada:

  • Tempo de compilação
  • Tempo de carregamento da aula
  • Runtime

40) Quais são os diferentes tipos de AutoProxying?

A seguir estão os diferentes tipos de AutoProxying:

  • BeanNameAutoProxyCreator
  • PadrãoAdvisorAutoProxyCreator
  • Proxy automático de metadados

41) Como os feijões podem ser feitos singleton ou protótipo?

A tag bean possui um atributo chamado 'singleton'. O bean é singleton se seu valor for 'TRUE', caso contrário o bean é um protótipo.


42) Quais classes são utilizadas para controlar a conexão do banco de dados?

A seguir estão as classes usadas para controlar a conexão do banco de dados:

  • Utilitários de fonte de dados
  • Fonte de dados inteligentes
  • Fonte de dados abstrata
  • Fonte de dados de conexão única
  • Fonte de dados do DriverManager
  • TransactionAware DataSourceProxy
  • DataSource TransactionManager

43) Descreva sobre o DAO no framework Spring?

DAO é usado para fornecer integração de Java conectividade de banco de dados e objetos de mapeamento relacional de objetos. DAO é uma estrutura Spring que fornece conexão para JDBC, hibernate, JDO, JPA, interface de cliente comum e Oracle.


44) O que é proxy automático?

O proxy automático é usado para criar proxy automaticamente para os usuários do Spring. Ele fornece as seguintes duas classes para suportar esta criação automática de proxy:

  • BeanNameAutoProxyCreator
  • PadrãoAdvisorAutoProxyCreator

45) O que é proxy automático de metadados?

O proxy automático de metadados pode ser executado de forma inspiradora, o que pode ser conduzido por metadados. Isso é determinado pelos atributos de nível de origem e mantém os metadados dentro do código-fonte.

Isso mantém os metadados em um só lugar e é usado principalmente para suporte a transações declarativas.


46) O que são 'conselhos de lançamento' na primavera?

'Throws Advice' define o comportamento quando ocorre uma exceção. É uma interface e não possui métodos que precisam ser implementados.

Uma classe que implementa esta interface deve ter um método com esta assinatura:

  • Amostra nula (lançar tablet)
  • Void samplethrow(Método m, Object[] o, Object target, Throw tablet)

47) Quais são os diversos editores utilizados nos trabalhos de primavera?

Os vários editores personalizados fornecidos pelo Spring Framework são:

  • Editor de propriedades
  • Editor de URL
  • Editor de classe
  • Editor de data personalizada
  • Editor de arquivos
  • Editor local
  • Editor de propriedades de matriz de sequência
  • Editor de StringTrimmer

48) Quais as vantagens do quadro de molas?

A seguir estão as vantagens da estrutura de mola:

  • Layered Archiarquitetura
  • Permite o simples e antigo Java Programação de objetos (POJO) e permite integração contínua e testabilidade
  • Injeção de Dependência e Inversão de Controle que simplifica JDBC
  • Estrutura de código aberto que pode ser usada para fins comerciais

49) Como o Hibernate é acessado usando o framework Spring?

O Hibernate pode ser acessado das duas maneiras a seguir:

  • Por IOC com Callback e HibernateTemplate.
  • Aplicando um Interceptor AOP e ampliando o HibernateDaoSupport.

50) Quais são os vários canais suportados pelo Spring 2.0?

A seguir estão os canais suportados pela versão Spring 2.0:

  • Canal pesquisável
  • Canal Assinável
  • PublicarInscrever-se no canal
  • Canal de fila
  • Canal Prioritário
  • Canal de Encontro
  • Canal direto
  • Canal Executor
  • Canal com escopo

Perguntas da entrevista do Spring MVC para mais de 5 anos de experiência

51) Por que o gerenciamento de transações declarativas é preferido no Spring?

O gerenciamento de transações declarativas tem impacto mínimo no código da aplicação e, portanto, é um contêiner leve e idealista.


52) Explique o conceito de BeanFactory?

BeanFactory aplica a ideia de um padrão de fábrica que utiliza IOC para separar as dependências e configuração do aplicativo do código real.


53) Quais são as diferentes abrangências do feijão primavera?

Os escopos do spring bean são Singleton, protótipo, solicitação, sessão e sessão global.


54) Quais são todas as maneiras de acessar o Hibernate usando Spring?

Existem duas maneiras de acessar o hibernate usando o spring:

  • Inversão de controle com modelo de hibernação e retorno de chamada
  • Estendendo o HibernateDAOSupport e aplicando um nó AOP Interceptor.

55) Como a aplicação das escoras pode ser integrada à mola?

Existem duas opções de aplicação de escoras que podem ser integradas com mola:

Configuração do Spring para gerenciar beans usando o plugin ContextLoader e definir suas dependências em um arquivo de contexto do Spring

Pegue os beans gerenciados pelo Spring explicitamente usando agetwebapplicationcontext()


56) O que é Inversão de Controle (COI)?

Inversão de Controle (IOC) também é chamada de Injeção de Dependência, que nada mais é do que um padrão de design que dá controle ao montador de classes. Em geral, a classe instanciará outra classe, se necessário.

Mas neste padrão de design, esse controle foi dado ao assembler e o assembler instanciará a classe necessária, se necessário.


57) Escreva os benefícios de usar o COI?

Os principais benefícios da injeção de dependência ou IOC são que ela reduz a quantidade de codificação necessária para o aplicativo. Isso permite que o teste do aplicativo seja feito de forma rápida e fácil, pois nenhum mecanismo de pesquisa JNDI ou singletons são necessários. Os contêineres IOC também suportam carregamento lento e instalação rápida de serviços.


58) O que é feijão interno? Qual é a desvantagem do feijão interno?

Se um elemento bean for incorporado diretamente em uma tag de propriedade durante a ligação dos beans, então o bean será chamado Inner Bean. Sua desvantagem é que não pode ser reprocessado.


59)Quais são os diferentes tipos de injeção na primavera?

Existem três tipos de injeção na primavera:

  • Injeção de Incubador
  • Injeção de construtor
  • Getter ou injeção de método

60) Quais são os benefícios da estrutura de mola?

A seguir estão os benefícios da estrutura de primavera:

  • Recipiente leve quando comparado aos contêineres j2EE
  • Estrutura Web MVC integrada
  • Cria aplicativos fracamente acoplados
  • Suporta programação orientada a aspectos, como registro, transação e segurança
  • Configuração feita em formato XML fácil de escrever e entender

61) Quais são os tipos de Assessoria?

Existem cinco tipos de aconselhamento:

  • Antes do Conselho
  • Depois de retornar o conselho
  • Depois de dar conselhos
  • Finalmente conselho
  • Em torno de conselhos

62) O que é chamado de PreparedStatementCreator?

Declaração preparadaCreator é uma das interfaces mais comumente usadas para gravar dados no banco de dados. createPreparedStatement() é um método que pode ser usado para criar e retornar PreparedStatement do argumento Connection, e o tratamento de exceções é resolvido automaticamente. Quando esta interface é implementada, uma interface diferente SqlProvider também pode ser implementada que possui um método chamado getSql(). Este método é útil para fornecer strings SQL ao JdbcTemplate. Ele não lida com SQLExceptions.


63) O que é SQLProvider?

SQLProvider possui apenas um método chamado getSql() e é implementado usando PreparedStatementCreator implementadores. É usado principalmente para depuração.


64) Escreva sobre BatchPreparedStatementSetter?

BatchPreparedStatementSetter é usado para atualizar mais de uma linha de uma só vez, eles podem usar BatchPreparedStatementSetter. Esta interface fornece dois métodos que eles são

  • setValues( PreparedStatement ps, int i) lança exceção SOL
  • int getBatchSize

65) Qual é o melhor método de usar JDBC no Spring?

Se JDBC for usado com a classe de modelo chamada JdbcTemplate, ele proporcionará um melhor desempenho.


66) Quais exceções as classes DAO usam no lançamento do Spring?

Na primavera, as classes DAO lançam apenas SQLException.


67) Explique as vantagens de usar o módulo DAO?

O código do banco de dados pode ser mantido limpo e simples usando o módulo DAO. Isso ajuda a prevenir problemas que surgem devido ao tratamento inadequado de fechamentos de recursos de banco de dados. Além disso, o módulo DAO utiliza o módulo AOP para permitir que objetos no aplicativo Spring usem serviços de gerenciamento de transações.


68) Cite as implementações significativas de ApplicationContext usadas na estrutura Spring?

Eles são:

  • ClassPathXmlApplicationContext
  • FileSystemXmlApplicationContext
  • XMLWebApplicationContext

69) Como um bean é adicionado a uma aplicação Spring?

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN">

<beans>

<bean id="foo"/>

<bean id="bar"/>

</beans>

A tag do bean possui um atributo ID que armazena o nome do bean e atributos de classe que especificam o nome completo da classe.

70) O que são módulos de integração ORM?

A ferramenta de mapeamento objeto/relacional (ORM) é suportada pelo Spring em JDBC direto, implementando o módulo ORM. Spring pode unir vários frameworks ORM importantes, incluindo JDO, iBATIS SQL Maps e Hibernate.


71) Mencionar e explicar os tipos de Conselhos na Primavera?

Os tipos de conselhos são:

  • Antes do conselho: O conselho executado antes de um joinpoint é chamado de 'antes do conselho'.
  • Depois de retornar o conselho: O conselho executado após a conclusão normal de um joinpoint é chamado de 'aconselhamento após retorno'.
  • Depois de dar conselhos: O conselho que é executado somente se um método sai anormalmente ao lançar uma exceção é chamado de 'conselho após lançar'.
  • Depois (finalmente) do conselho: O conselho que é executado independentemente de como um ponto de junção sai é chamado de 'após finalmente o conselho'.
  • Em torno de conselhos: O conselho que faz fronteira com um ponto de junção, por exemplo, uma invocação de método, é chamado de 'aconselhamento próximo'. Isto pode ser usado para realizar atividades especiais antes e depois da invocação do método.

72) O que é o módulo web?

O módulo web permite a criação de uma aplicação web sem XML. O arquivo web.xml precisa ser configurado para usar o módulo web.


73) O que é DataAccessException?

DataAccessException é uma RuntimeException. É uma exceção não verificada. O usuário não pode ser forçado a lidar com esses tipos de exceções.


74) O que é XMLBeanFactory?

Spring inclui diversas aplicações do Bean Factory. Destes, org.springframework.beans.factory.xml.XmlBeanFactory é muito importante. Ele carrega os beans com base nas definições armazenadas em um arquivo XML. Para a criação de um XmlBeanFactory, um java.io.InputStream é passado para o construtor. O InputStream fornece o XML para a fábrica. Por exemplo, para recuperação do bean, o método getBean() é chamado passando o nome do bean desejado.

MyBean helloBean = (MyBean) factory.getBean("helloBean");

75) Nomeie a classe Exception que está ligada às exceções lançadas pelas aplicações?

É o DataAccessException fornecido por org.springframework.dao.DataAccessException


76) Mencionar os tipos de lOC (injeção de dependência)?

Os diferentes tipos de loC são: –

  • Injeção de setter: Com a ajuda de JavaPropriedades do feijão.
  • Injeção de Construtor: As dependências são fornecidas na forma de parâmetros do construtor.
  • Injeção de interface: Com a ajuda de uma interface, é realizada uma injeção.

Destes três, apenas construção e setter estão sendo usados ​​no Spring.


77) Quais são os métodos importantes do ciclo de vida do feijão?

Resumindo, existem dois métodos de ciclo de vida do bean. O primeiro método é o método de configuração que é chamado durante o carregamento do bean no contêiner. A segunda é quando o grão é descarregado do contêiner, método chamado de desmontagem.


78) Como os métodos de ciclo de vida padrão dos beans podem ser anulados?

A tag bean possui dois atributos úteis que podem ser usados ​​para definir métodos especiais de inicialização e destruição.

Por exemplo, dois novos métodos forSetup e forTeardown podem ser adicionados à classe Foo da seguinte maneira:

<beans>

<bean id="bar" init-method="forSetup" destroy="forTeardown"/>

</beans>

79) O que é um Target?

Um alvo é a classe aconselhada. Esta classe pode ser uma classe à qual queremos adicionar um comportamento especial ou uma classe de terceiros. A classe alvo é livre para se concentrar em sua preocupação principal usando os conceitos de POA, independentemente de qualquer conselho que esteja sendo aplicado.


80) Explique o termo Proxy?

O termo proxy refere-se a um objeto que é produzido pela aplicação de um conselho ao objeto alvo.


81) Qual é a preocupação e preocupação transversal na AOP da primavera?

  • Preocupação com cortes transversais: É uma preocupação aplicável a toda a aplicação e que afeta toda a aplicação. Por exemplo, segurança, registro e transferência de dados são as preocupações necessárias em quase todos os módulos de uma aplicação.
  • Preocupação: Preocupação é um comportamento que queremos ter em um módulo de uma aplicação. As questões que nos interessam definem a nossa preocupação.

Essas perguntas da entrevista também ajudarão em sua viva (oral)