Spring 框架中有很多注解,如@Component、@Service、@Repository、@Service、@Resource 和@Autowired 等。
在服务中注入我的 daos 以及在 Spring Controller 中注入我的服务类的最合适的方法是什么。
有这么多注释,尤其是@Autowired 适用于所有情况时,它会变得令人困惑。
Spring 框架中有很多注解,如@Component、@Service、@Repository、@Service、@Resource 和@Autowired 等。
在服务中注入我的 daos 以及在 Spring Controller 中注入我的服务类的最合适的方法是什么。
有这么多注释,尤其是@Autowired 适用于所有情况时,它会变得令人困惑。
请参阅Spring中基于注释的配置,对我来说是最好Spring Annotation
的教程。
@Service
并且@Repository
只是“子注释”,用于@Component
更多地指定bean(将服务与存储库分开以获得更复杂的东西)。从注射的角度来看,这三个是相等的。
对于注射,有3个:
@Resource
@Inject
@Autowired
@Autowired
是最强大的注解,但是@Resource
(JSR-250)和@Inject
(JSR-330)是标准化的。— 无论如何,如果您不打算在非 Spring 环境中重用您的应用程序,那么我不会过多关注这个问题。
我更喜欢避免注释,尤其是当它们开始变得混乱时。在这种情况下,好的旧 getter 和 setter 并没有错。只需要自己连接 bean,这并不难以至于需要注释。