怎样把软件加密锁破解

一、配置文件1、配置pom.xml配置文件,导入所需要的类
aopalliance
aopalliance
1.0


org.aspectj
aspectjweaver
1.9.1


org.springframework
spring-aspects
5.0.7.RELEASE
复制代码2、配置springmvc.xml配置文件
<context:component-scan base-package=“Controller,Service,Dao” />

<aop:aspectj-autoproxy proxy-target-class=“true”/> 复制代码二、代码实战演练1、写一个基础函数@RestController
public class AopController {
@RequestMapping(path = “/div”)
public int div(@RequestParam(name = “i”) int i, @RequestParam(name = “j”) int j){
return i/j;
}
} 复制代码2、写一个切面类,包含四种基本功能:前置通知:@Befor,后置通知:@After,返回通知:@AfterReturning,异常通知:@AfterThrowing。注意要用@Aspect注解这个类,告诉Ioc容器这是个切面类。package Controller;

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.*;
import org.springframework.stereotype.Component;

import java.util.Arrays;

@Aspect
//Aspect告诉容器这是一个切面类
@Component
//Component将这个类导入容器
public class AopAspectj {

//pointcut获取公共的切入点
@Pointcut(value = "execution(public * Controller.AopController.*(..))")
public void PointCut(){ }

//@Before 表述在方法前执行
@Before(value = "PointCut()")
//JoinPoint一定要出现在参数表的第一位
public void divStart(JoinPoint joinPoint){
    //获取参数
    Object[] Arg = joinPoint.getArgs();
    System.out.println(""+joinPoint.getSignature().getName()+"除法开始"+ Arrays.asList(Arg) +"");
}
//joinPoint.getSignature()获取类的信息

//@After 表示在方法之后执行
@After("PointCut()")
public void divEnd(){
    System.out.println("除法结束");
}

//AfterReturning 表示在返回之后执行
@AfterReturning(value = "PointCut()",returning ="result")
public void divReturn(Object result){
    System.out.println("除法正常返回结果"+result+"");
}

//@AfterThrowing 表示抛出异常
@AfterThrowing(value = "PointCut()",throwing = "exception")
public void divException(Exception exception) {
    System.out.println("除法异常"+exception+"");
}

} 复制代码3、测试,运行项目之后,使用url: http://localhost:8080/div?i=1&&j=1,控制台打印的信息div除法开始[1, 1]
除法结束
除法正常返回结果1

发布了60 篇原创文章 · 获赞 10 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/a59612/article/details/104406542