A principal pesquisa deste artigo é o código de implementação do tempo de execução do método de gravação da Spring Boot AOP, como segue.
Para otimizar o desempenho, é necessário contar o tempo de execução de cada método primeiro. É muito problemático emitir diretamente o log antes e depois do método. Você pode usar aOP para adicionar estatísticas de tempo
<Depencency> <PuerpId> org.springframework.boot </frugiD> <ArtifactId> Spring-boot-Starter-AOP </ArtifactId> </Dependency>
spring.aop.auto = true
A propriedade Spring.aop.auto está ativada por padrão, o que significa que, desde que a dependência da AOP seja introduzida, @enableaspectJautoProxy foi adicionado por padrão. Lembre -se de não adicionar informações desnecessárias, como @enableaspectJautoProxy!
@Componente@Aspecpublic Classe LOGASPECT {private estático log log final = logFactory.getLog (LOGASPECT.CLASS);/*** Defina um ponto de entrada. * Explicação: * * ~ O primeiro * representa qualquer modificador e qualquer valor de retorno. * ~ O segundo * é definido em um pacote da web ou subpackage * ~ o terceiro * qualquer método * ~ .. corresponda a qualquer número de parâmetros. */@Pointcut ("Execution (*com.wedo.stream.service ..*.*(..))") public void LogPointCut () {}@org.aspectj.lang.annotation.around ("LogPointCut ()") public Object (ProscondJOInPoint JONTPoint) ThrowSwLOT {Logpoint () ") "/t"); long start = system.currenttimemillis (); try {objeto resultado = junçãoPoint.proeced (); long end = system.currenttimemillis (); log.error ("++++++ em torno de"+junção+"/tempo de tuse:"+(end - start)+"ms! System.currenttimemillis (); log.error ("+++++++ em torno de"+junção+"/tuse time:"+(end - start)+"ms com exceção:"+e.getMessage ()); tiro e;}}} Depois que o método AOP não pode retornar o valor corretamente
Esse método de proxy deve retornar um valor, caso contrário, não haverá valor de retorno no código.
// Isso está errado, public void Doaround (ProceedingJoinPoint Jun JoinPoint) {} A documentação da Spring diz o seguinte: a parte da Spring AOP usa proxy dinâmico ou cglib do JDK para criar proxy para o objeto de destino. Se o alvo proxy implementar pelo menos uma interface, um proxy dinâmico JDK será usado. Todas as interfaces implementadas por esse tipo de destino serão proxyed. Se o objeto de destino não implementar nenhuma interface, um proxy do CGLIB será criado.
O padrão é o proxy dinâmico JDK, alterado para CGLIB
O exposto acima é todo o conteúdo deste artigo sobre o exemplo do código de tempo de execução do método de gravação da Spring Boot AOP. Espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!