Просто прочитайте некоторые исходный код из Спринг-веб-4.2.4, обнаружил, что ControllerAdvice
(аннотацию) довольно интересен:по умолчанию {} в @interface весной
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface ControllerAdvice {
@AliasFor("basePackages")
String[] value() default {};
@AliasFor("value")
String[] basePackages() default {};
//......
}
Я не считаю default {}
в качестве новая функция Java 8?
«default» - это новая функция Java 8, но только для «интерфейса», а не для «@interface». –
Возможный дубликат [Интерфейс с методами по умолчанию vs Абстрактный класс в Java 8] (http://stackoverflow.com/questions/19998454/interface-with-default-methods-vs-abstract-class-in-java-8) – Andremoniy
Позже выяснилось, что это просто поведение Java-аннотации, http://stackoverflow.com/questions/588056/interface-default-declaration-usage-in-java объяснено раньше. Спасибо всем. –