关于java:Spring – 为什么我们需要标记一个类@repository(或@Component以外的任何东西)

Spring - Why do we need mark a class @repository(or whatever other than @Component)

本问题已经有最佳答案,请猛点这里访问。

我正在学习Spring in Detail,所以在我的样本中我有一个DAO

1
2
3
4
@Repository
public class EmployeeDAOImpl implements EmployeeDAO {
    ...
}

它工作得很好,但同@Component一样,工作得很好,没有任何问题。

1
2
3
4
@Component
public class EmployeeDAOImpl implements EmployeeDAO {
    ...
}

那我为什么要标记我的与@Repository类,除了持久层的原型之外还有其他的优点吗?


看看Repository的源代码,它也是Component

1
2
@Component
public @interface Repository { ... }

它只是为了明确组件/bean的用途。

同样地,ServiceController也是用于服务和控制器的Component