AspectJ é uma excelente estrutura de programação orientada a aspectos. Vamos apresentar brevemente o tutorial introdutório:
1. Baixe o pacote JAR de AspectJ no site oficial. Estou aqui com a versão mais recente 1.8.7.
2. Como o aspecto de aspecto é um arquivo JAR executável, ele precisa ser executado e instalado.
Digite o diretório em que o frasco está localizado e insira o comando java -jar ***. Jar:
3. Digite a instalação:
4. Ao selecionar a seguir, haverá o seguinte prompt. Por padrão, selecione o JRE instalado no computador:
5. Selecione a seguir e selecione o diretório instalado. Lembre -se do diretório você mesmo, e será útil mais tarde:
6. Após a conclusão da instalação, há um aviso para adicionar aspectojrt.jar na lib ao ClassPath;
Digite o diretório de instalação, que contém a pasta Lib da Biblioteca de Pacotes JAR e a pasta BIN que contém os arquivos executáveis:
Adicionar aspectojrt.jar para adicionar ao ClassPath:
7. Realize um teste simples de aspecto:
(1) Aulas necessárias para escrever testes: A, B e Principal Principal:
1 classe pública A 2 {3 public void hello () {4 System.out.println ("Teste o primeiro método da primeira instância"); 5} 6 7 public void Hi () {8 System.out.println ("Teste o segundo método da primeira instância"); 9} 10 11} 1 classe pública B2 {3 public void greet () {4 System.out.println ("O primeiro método da segunda classe de teste"); 5} 6} 1 classe pública principal 2 {3 public static void main (string [] args) 4 {5 a a = novo a (); 6 b b = novo B (); 7 8 A.Hello (); 9 a.hi (); 10 11 b.greet (); 12} 13}Verifique o efeito da execução de compilação:
(2) Escreva o aspecto para adicionar a função de destino para entrar:
O primeiro:
1 aspecto público AuthAspect 2 {3 Antes (): Execução (void *. *()) {4 5 System.out.println ("Log de simulação"); 6} 7}Use AJC na pasta BIN para compilar authAspect, -d. *.Java para compilar todos os arquivos Java no diretório atual. Coloque os arquivos compilados no diretório atual:
O segundo:
1 aspecto público transasente 2 {3 void em torno (): Execução (void *. *()) {4 5 System.out.println ("simular o início das coisas"); 6 7 Procedimento (); // Função de retorno de chamada 8 9 System.out.println ("simule o fim das coisas"); 10} 11}O terceiro:
1 Logaspecto de aspecto público 2 {3 após (): Execução (void*.