我应该为 Hibernate DAO 类使用什么 Spring 注释,以便在扫描过程中找到它们?@Repository、@Service 还是 @Component?我无法弄清楚其中的区别。我现在在 Spring 2.5.6 上。
PS有人可以指导我快速了解图层的想法吗?我只听说过表示层之类的东西,但不完全理解我应该称之为什么以及业务层是什么?还有其他吗?
我应该为 Hibernate DAO 类使用什么 Spring 注释,以便在扫描过程中找到它们?@Repository、@Service 还是 @Component?我无法弄清楚其中的区别。我现在在 Spring 2.5.6 上。
PS有人可以指导我快速了解图层的想法吗?我只听说过表示层之类的东西,但不完全理解我应该称之为什么以及业务层是什么?还有其他吗?
@Repository
将是我的建议。
表示层是指 Web UI,因此应该使用@Controller
注释。
服务使用 POJO 接口实现用例;将此标记为@Service
。控制器将使用服务来完成用例。
这并不重要,但这@Repository
是一个不错的选择。Spring手册有这样说:
从 Spring 2.0 开始,@Repository 注释被引入作为任何满足存储库角色或原型的类的标记(又名数据访问对象或 DAO)
在核心 Spring 中,我认为没有任何区别。通常,这些原型注释用于auto-detection when using annotation-based configuration and classpath scanning
(来自 Spring 文档)。可以有一些软件来使用它们,但在没有这样的软件的情况下,我选择对我最有意义的刻板印象。在 DAO 的情况下,我通常选择@Component
,虽然@Repository
也是一个不错的选择。