Transactional annotation error
<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>