Stereotype annotations
Spring 在以 annotation 標註 bean 時,可依不同的用途來區分。主要使用的 annotation 有下列幾項,相關的說明可參考官方文件說明 @Component and further stereotype annotations:
- Component : 泛用的元件標註,主要處理無法歸類為下列三項的元件。
- Controller : 用於標註 MVC 中的控制器。
- Repository : 用於標註資料存取元件,主要為 DAO。
- Service : 用於標註商業邏輯元件。
除上述預設的 annotation 外,也可自行自訂要使用的 annotation 並依據需求來進行分類。
自訂 annotation
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Service
public @interface GenericService {
/**
* 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 "";
}