Perguntas comuns da entrevista de primavera

1. O que é a Primavera?

  • Spring é uma estrutura de contêiner leve de Inversão de Controle (IoC) e Orientada a Aspectos (AOP).
  • O framework Spring é uma arquitetura em camadas que consiste em 7 módulos definidos.
  • Os módulos Spring são construídos sobre o contêiner principal, que define como os beans são criados, configurados e gerenciados.

2. A composição do módulo do Spring

  1. Spring Core: O contêiner principal fornece as funções básicas da estrutura Spring. O principal componente do contêiner principal é o BeanFactory, que é a implementação do padrão de fábrica. O BeanFactory usa o padrão Inversão de Controle para separar a configuração do aplicativo e a especificação de dependência do código real do aplicativo
  2. Contexto Spring: O contexto Spring é um arquivo de configuração que fornece informações de contexto para a estrutura Spring. O contexto Spring inclui serviços corporativos como JNDI, EJB, e-mail, internacionalização, validação e funções de agendamento
  3. Spring AOP: Por meio de recursos de gerenciamento de configuração, o módulo Spring AOP integra diretamente funções orientadas a aspectos na estrutura Spring. Portanto, é fácil usar a estrutura Spring para gerenciar qualquer objeto habilitado para AOP. O módulo SpringAOP fornece serviços de gerenciamento de transações para objetos em aplicativos baseados em Spring. Ao usar SpringAOP, você pode integrar o gerenciamento de transações declarativas em gerenciadores de aplicativos sem depender de componentes.
  4. Spring DAO: A camada de abstração JDBC DAO fornece uma hierarquia de exceções significativa que pode ser usada para gerenciar o tratamento de exceções e mensagens de erro lançadas por diferentes fornecedores de banco de dados. A hierarquia de exceções simplifica o tratamento de erros e reduz bastante a quantidade de código de exceção que precisa ser escrito (como abertura e fechamento de conexões). As exceções orientadas a JDBC do SpringDAO seguem a hierarquia de exceções DAO comum
  5. Spring ORM: Várias estruturas ORM são inseridas na estrutura Spring, fornecendo assim ferramentas relacionais de objeto ORM, incluindo JDO, Hibernate e iBatis SQL Map. Tudo isso segue as hierarquias genéricas de transação e exceção DAO do Spring.
  6. Spring Web: O módulo de contexto da Web baseia-se no módulo de contexto do aplicativo e fornece contexto para aplicativos baseados na Web. Portanto, o framework Spring suporta integração com Jakarta Struts. O módulo da web também simplifica o tratamento de solicitações multipartes e a vinculação de parâmetros de solicitação a objetos de domínio.
  7. Spring MVC: A estrutura MVC é uma implementação MVC completa para construir aplicativos da web. Através da interface de estratégia, a estrutura MVC torna-se altamente configurável e o MVC acomoda um grande número de tecnologias de visualização, incluindo JSP, Velocity, Tiles, iText e POI.

O que é o COI da Primavera

  1. Container IOC: Na verdade, é equivalente a um mapa, que armazena objetos. Armazenamos objetos (@repository, @server, @controller, @component) configurando beans ou anotações em xml.
  2. Inversão de controle: Não há nenhum contêiner IOC introduzido. Quando precisamos de um objeto, precisamos de um novo. Após a introdução do IOC, colocamos todos os objetos no contêiner. Quando precisamos do objeto, podemos criá-lo através do contêiner IOC , mudando de ativo para passivo. Entregar o controle do objeto ao COI (equivalente a uma agência de namoro)
  3. Injeção de dependência: o contêiner IOC injeta dinamicamente certas dependências em objetos durante o tempo de execução.

O que é Primavera AOP

  1. Encapsule a lógica de negócios transversal do programa em um aspecto e, em seguida, injete-a no negócio lógico específico, que pode aprimorar um objeto ou método.
  2. Termos relacionados:
  • Joinpoint: Um joinpoint representa um ponto durante a execução da aplicação onde um aspecto pode ser inserido.Este ponto pode ser uma chamada de método ou uma exceção lançada. No Spring AOP, o ponto de conexão é sempre uma invocação de método.
  • PointCut: Cada programa possui vários pontos de conexão. Como localizar um ponto de conexão interessante precisa ser localizado através do pointcut. Por exemplo, ponto de conexão – registro do banco de dados, pointcut – condição de consulta.
    Pointcut é usado para limitar o escopo da inicialização do Spring-AOP. Normalmente usamos expressões para defini-lo, então a palavra-chave é escopo.
  • Aprimoramento (conselho): Um aprimoramento é um pedaço de código de programa integrado ao ponto de conexão da classe alvo. No Spring, coisas como BeforeAdvice também possuem informações de localização.
  • A notificação é o resultado da tradução literal. Pessoalmente, acho mais apropriado chamá-la de "aprimoramento de negócios". O código de comparação é o método relevante definido pelo interceptador. A notificação é dividida nos seguintes tipos:
    • Pré-notificação (antes): faça algumas operações antes de executar o código comercial, como obter o objeto de conexão
    • Pós-notificação (após): realizar algumas operações após a execução do código de negócios. Ele será executado independentemente de ocorrer uma exceção, como fechar o objeto de conexão.
    • Notificação de exceção (afterThrowing): Uma exceção ocorre após a execução do código de negócios e das operações que precisam ser realizadas, como reverter a transação
    • Notificação de retorno (afterReturning), a operação que será realizada se não houver exceção após a execução do código de negócio
    • Em torno da notificação (ao redor), não há operação correspondente para a transação da qual estamos falando, então não vamos falar sobre isso por enquanto
  • Destino O objeto de negócios que precisa ser aprimorado
  • Weaving: Weaving é o processo de adicionar melhorias a pontos de junção específicos da classe alvo.
  • Aspecto: Aspecto é composto de pontos de corte e melhorias.Spring AOP tece a lógica transversal definida pelo aspecto nos pontos de conexão especificados pelo aspecto.
    Insira a descrição da imagem aqui

Qual é a diferença entre BeanFactory e ApplicationContext?

São as duas interfaces principais do Spring, ambas podem ser usadas como contêineres Spring, e ApplicationContext é uma subclasse de BeanFactory

  1. BeanFactory é um método de carregamento lento para injetar beans, somente ao usar beans ele irá carregar e instanciar (velocidade lenta, economizar espaço)
  2. ApplicationContext criará todos os beans após o início do contêiner (ocupa espaço e é rápido)

Acho que você gosta

Origin blog.csdn.net/ilvjiale/article/details/115358130
Recomendado
Clasificación