什么是@Service注释中使用的“值”

时间:2011-03-25 18:36:09

标签: java spring annotations

这些

之间的差异是什么
@Service(value="test1")

@Service("test1")

1 个答案:

答案 0 :(得分:10)

没有区别,但如果注释需要多个参数,而您想使用多个参数,则需要使用“value =” - 语法。有关参数的用法,请参阅@Service - javadoc,或者只是看一下注释类:

public @interface Service {

    /**
     * The value may indicate a suggestion for a logical component name,
     * to be turned into a Spring bean in case of an autodetected component.
     * @return the suggested component name, if any
     */
    String value() default "";

}

可以在Java annotations documentation找到它被称为“价值”的原因以及为什么可以省略它的原因:

  

允许省略元素   a中的名称和等号(=)   单元素注释   元素名称是值