我正在寻找有关Java中的注释的一些说明。 Oracle https://docs.oracle.com/javase/tutorial/java/annotations/的后续页面说“注释对它们注释的代码的操作没有直接影响。”但是我执行了一段这样的代码
@WebServlet("/ServletLifeCycleExample")
public class ServletLifeCycleExample extends HttpServlet {
private static final long serialVersionUID = 1L;
public ServletLifeCycleExample() {
super();
// TODO Auto-generated constructor stub
}
行@WebServlet("/ServletLifeCycleExample")
对代码的成功运行非常关键,即使它是一个注释。如果没有该行,代码就会崩溃(ServletLifeCycleExample不会被加载)。
如何解释这个?
答案 0 :(得分:0)
"更一般地说,注释永远不会改变带注释代码的语义,但是 使其能够通过工具进行特殊处理" 〜Effective Java 2nd Edition
在这种情况下,WebServlet注释具有间接效果,这恰好非常重要。
答案 1 :(得分:-1)
注释标记类并向其添加元数据。当某个引擎(spring / app server / etc)加载带注释的类时,它可以从注释读取数据(或者只是检查是否存在注释)并在传递调用类之前将其更改为open transaction