Melhor resposta
1. O que se entende por Programação Orientada a Aspectos (AOP) na Primavera? A Programação Orientada a Aspectos funciona como a Programação Orientada a Objetos. Na Programação Orientada a Objetos, a unidade de modularidade é Objeto, mas na Programação Orientada a Aspectos a unidade de modularidade é Aspect. Aspect funciona como a modularização de preocupações conhecidas como preocupações transversais em AOP. A estrutura AOP pode ser conectada na primavera. AOP fornece serviço corporativo declarativo e permite que os usuários implementem aspectos personalizados.
2. Por que é usado? Suponha que queiramos registrar todos os métodos entrada e saída. Isso pode ser alcançado escrevendo instruções de log em todos os métodos no início e no final. Mas isso exigirá muito trabalho de código. Existem várias tarefas, como Segurança, que precisam ser aplicadas em todos os métodos ou classes. Estes são conhecidos como interesses transversais. AOP aborda o problema de interesses transversais, que seriam qualquer tipo de código que é repetido em métodos diferentes e normalmente não pode ser completamente refatorado em seu próprio módulo, como registro ou verificação.
3. Quais são as diferentes implementações do Spring AOP? As diferentes implementações do Spring AOP são- AspectJ Spring AOP JBoss AOP
4.Explicar as diferentes terminologias AOP ?? As diferentes terminologias AOP são Joinpoint: Um joinpoint é um ponto candidato na execução do programa do aplicativo onde um aspecto pode ser conectado. Este ponto pode ser um método sendo chamado, uma exceção sendo lançada ou até mesmo um campo sendo modificado. Esses são os pontos onde o código do seu aspecto pode ser inserido no fluxo normal do seu aplicativo para adicionar um novo comportamento. Conselho: Este é um objeto que inclui invocações de API para as questões de todo o sistema que representam a ação a ser executada em um ponto de junção especificado por um ponto. Pointcut: Um pointcut define em quais pontos de junção o Conselho associado deve ser aplicado. O conselho pode ser aplicado em qualquer ponto de junção suportado pela estrutura AOP. Claro, você não quer aplicar todos os seus aspectos em todos os pontos de junção possíveis. Os pontos de corte permitem que você especifique onde deseja que seus conselhos sejam aplicados. Freqüentemente, você especifica esses pontos de corte usando nomes de classe e método explícitos ou por meio de expressões regulares que definem padrões de nome de classe e método correspondentes. Algumas estruturas AOP permitem que você crie pontos de corte dinâmicos que determinam se deve ser aplicado o conselho com base nas decisões de tempo de execução, como o valor dos parâmetros do método. Aspecto: A unidade principal de modularidade em OOP é a classe, enquanto em AOP a unidade de modularidade é o aspecto. Aspectos permitem a modularização de questões, como gerenciamento de transações que abrangem vários tipos e objetos. Tecelagem: No Spring, o AOP torna possível modularizar e separar os serviços de log, transações e aplicá-los declarativamente aos componentes. Portanto, o programador pode se concentrar em questões específicas. Os aspectos são integrados aos objetos no arquivo XML do Spring da mesma forma que o JavaBean. Este processo é conhecido como Tecelagem.
5. Qual é a diferença entre Spring AOP e AspectJ AOP? AspectJ é a indústria- implementação padrão para Programação Orientada a Aspectos, enquanto o Spring implementa AOP para alguns casos. As principais diferenças entre Spring AOP e AspectJ são:
- Spring AOP é mais simples de usar do que AspectJ porque não precisamos nos preocupar com o processo de entrelaçamento.
- Spring AOP suporta Anotações AspectJ, portanto, se você está familiarizado com AspectJ, trabalhar com Spring AOP é mais fácil.
- Spring AOP suporta apenas AOP baseado em proxy, portanto, pode ser aplicado apenas a pontos de junção de execução de método. AspectJ suporta todos os tipos de pontos de corte.
- Uma das deficiências do Spring AOP é que ele pode ser aplicado apenas aos beans criados por meio do Spring Context.
>> Leia mais >>
Resposta
As perguntas no Spring AOP girarão em torno de terminologias orientadas a Aspectos como Joinpoint, Advice etc. e também o caso de uso para o qual você usou a Programação Orientada a Aspectos no projeto-
Algumas perguntas são-
O que é AOP?
Tempo de execução vs. Compile Time AOP
Diferentes tipos de Conselhos Spring
Mais perguntas podem ser encontradas aqui-