title: Differences between @Interceptors and @InterceptorBinding + @Logged?
body: <p>Seems there are two ways to binding interceptor to target class/method:</p>
  
  <ol>
  <li><a href="http://docs.oracle.com/javaee/6/tutorial/doc/gkedm.html" rel="noreferrer">@Interceptors on target class/method</a></li>
  <li><a href="http://docs.oracle.com/javaee/6/tutorial/doc/gkhjx.html" rel="noreferrer">Declare a <code>interceptor binding type</code>(aka, a custom annotation annotated with @InterceptorBinding itself, for example @Logged), and using it on target class/method</a></li>
  </ol>
  
  <p>I am using interceptor in CDI environment. My question is, does it is completely unnecessary to declare a extra <code>interceptor binding type</code> if I using @Interceptors to binding interceptor to my target methods? </p>
  
  <p>If answer is <strong>yes</strong>, then why IntelliJ IDEA constantly complaint me a error </p>
  
  <blockquote>
    <p>@Interceptor must specify at least one interceptor binding</p>
  </blockquote>
  
  <p>when I am not annotating <code>interceptor binding type</code> on my interceptor? </p>
  
  <p>If answer is <strong>no</strong>, I already binding my interceptor to target class/method with @Interceptors(arrayOfMyInceptor) <strong>directly</strong>, why declare a extra <code>interceptor binding type</code> and using it on my interceptor?</p>
  
  <p><BR>
  I search the web but cannt found anything about difference of this two approaches, hope SO can solve my problem.</p>
  
  <p>Thank you for your patience.</p>