1,添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
2,编写自定义注解类,还需定义一个异常类(代码忽略)
@Target({ ElementType.METHOD, ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
//最高优先级
@Order(Ordered.HIGHEST_PRECEDENCE)
public @interface RequestLimit
{
/**
* 允许访问的次数,默认值MAX_VALUE
*/
int count() default Integer.MAX_VALUE;
/**
* 时间段,单位为毫秒,默认值一分钟
*/
long time() default 60000;
}
3,定义一个具体注解实现类(代码忽略,通过Spring APO切面来实现)
4,实现一个控制类,并添加使用注解功能。下面看代码事例:
@Controller
public class Url1Controller {
@RequestLimit(count=10,time=5000)
@RequestMapping("/urltest")
@ResponseBody
public String test(HttpServletRequest request, ModelMap modelMap) {
return "aaa";
}
}