blog

Springブートアノテーション+インターセプター

カスタムアノテーションの実装\nTarget // アノテーションはメソッド上で使用されます。\n@Retention() // アノテーションは実行時にも存在します。\np...

Apr 13, 2020 · 1 min. read
シェア
  • カスタムアノテーションの実装
@Target({ElementType.METHOD}) // アノテーションはメソッドで使われる
@Retention(RetentionPolicy.RUNTIME) // アノテーションは実行時にも存在する
public @interface MyAnnotation {}
  • カスタムインターセプター
public class MyInterceptor extends HandlerInterceptorAdapter {
 @Override
 public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
 if(!(handler instanceof HandlerMethod)) {
 return true;
 }
 HandlerMethod handlerMethod = (HandlerMethod) handler;
 Method method = handlerMethod.getMethod();
 MyAnnotation annotation = method.getAnnotation(MyAnnotation.class);
 if(annotation != null) {
 // 適宜処理する
 }
 return true;
 }
}
  • 配置
@Configuration
public class WebConfiguration extends WebMvcConfigurationSupport {
 @Bean
 public MyInterceptor myInterceptor() {
 return new MyInterceptor();
 }
 /**
 * インターセプターを追加する
 * @param registry
 */
 @Override
 public void addInterceptors(InterceptorRegistry registry) {
 registry.addInterceptor(myInterceptor()).addPathPatterns("/**");
 super.addInterceptors(registry);
 }
}
Read next

IOS Metal: フィルタリングを行う際に、隣接するピクセルの座標を取ることについてのメモ。

画像をスクリーンに配置するには、少し回転させる必要がありました。 ビューポートは、スクリーン座標とメタルの間の2つの座標空間を接続するために使用されます。メタルではすべての座標が座標であり、2Dの場合だけを考えると、左下隅は[-1, -1]、右上隅は[1, 1]なので、原点は...

Apr 13, 2020 · 2 min read