title: Transactional annotation error
body: <p>When I put "<code>@Transactional(readOnly=false)</code>" annotation in my Service class I get the following error</p>
  
  <p>Description:</p>
  
  <blockquote>
    <p>The bean 'studentService' could not be injected as a
    '<code>com.student.service.StudentServiceImpl</code>' because it is a JDK dynamic
    proxy that implements: com.student.service.StudentService</p>
  </blockquote>
  
  <p>Sample code:</p>
  
  <pre><code>@Service("studentService")
  @Transactional(readOnly=false)
  public class StudentServiceImpl implements StudentService {
  
  }
  
  public interface StudentService {
  
  }
  </code></pre>
  
  <p>Action:</p>
  
  <blockquote>
    <p>Consider injecting the bean as one of its interfaces or forcing the use of CGLib-based proxies by setting <code>proxyTargetClass=true</code> on <code>@EnableAsync</code> and/or <code>@EnableCaching</code>.</p>
    
    <p>Process finished with exit code 1</p>
  </blockquote>
  
  <p><strong>What is causing this?</strong></p>