1、注解参数详解
Java注解可以有带名参数
@Test(timeout = 100, expected = classOf[IOException])
不过,如果参数名为value,则该名称可以直接省略去
value参数的值为 “creds”
@Named("creds")
var credentials: Credentials = _
如果注解不带参数,则圆括号可以省略去
@Entity
class Credentials
大多数注解参数都有默认值。举例来说,JUnit的@Test注解的timeout参数有一个默认的值0,表示没有超时。而expected参数有一个假的默认类来表示不预期任何异常。如果你用如下代码
@Test def testSomeFeature(){….}
这个注解写法等同于
@Test{timeout = 0,expected = classOf[org.junit.Test.None]}
@Test def testSomeFeature(){….}
2、Java 注解的参数类型只能是
(1)数值型的字面量
(2)字符串
(3)类字面量
(4)Java枚举
(5)其他注解
(6)上述类型的数组(但不能是数组的数组)
Scala注解可以是任何类型,但只有少数几个Scala注解利用了这个增加的(额外的)灵活性。
这个模块作为了解即可
转载于:https://www.jianshu.com/p/9adcf3d33124