从架构的角度来看,我想知道在Spring @Repository
中使用Spring @Component
是否有好主意?
我认为在面向服务的体系结构中,DAO
只能通过@Service
访问。
答案 0 :(得分:1)
我认为从@Component
类调用DAO是有效的。在创建/编写应用程序时,我总是遵循这一点。
DAO或Repository图层是最低层,负责与数据存储的持久化/检索相关的所有逻辑。存储库或DAO也可能使用其他存储库,但不应使用更高级别的资源,如服务或控制器。
服务层位于Repository层之上,并封装了应用程序的业务逻辑。它也可能使用存储库和其他服务。与存储库一样,它们不会消耗更高级别的资源。
控制器层位于Service和Repository层之上。它可能会消耗服务但从不直接使用存储库和其他控制器。它应该只使用业务层即服务来控制用户界面。