hhh*_*yyq 5 java jvm annotations classloader
我发现如果我使用注释,程序将不会抛出ClassNotFoundException.
class A {
@Transactional
public void insert() {
//insert something
}
}
Run Code Online (Sandbox Code Playgroud)
Tomcat在没有包含该类的javaee-api-7.0.jar的情况下成功启动javax.transaction.Transactional
它让我非常困惑,JVM ClassNotFoundException在加载类时不应该抛出
它A吗?
不,它不应该.注释只是元数据.即使注释不在类路径中,预计包含注释的字节代码也能正常运行.当然,如果某些库试图实际访问并使用不在类路径中的注释,那将无效.
例如,为了能够明确地支持这一点
| 归档时间: |
|
| 查看次数: |
134 次 |
| 最近记录: |