有像@Component,@Service,@Repository,@Service @Resource和@Autowired等什么是最适合在服务中注入daos的方法,Spring中的控制器中的服务?
什么是服务注入我的daos的最适当的方式,以及我的服务类的Spring框架许多注解在Spring Controller中。
有了这么多的注释,它变得混乱,尤其是@Autowired在所有情况下工作。
有像@Component,@Service,@Repository,@Service @Resource和@Autowired等什么是最适合在服务中注入daos的方法,Spring中的控制器中的服务?
什么是服务注入我的daos的最适当的方式,以及我的服务类的Spring框架许多注解在Spring Controller中。
有了这么多的注释,它变得混乱,尤其是@Autowired在所有情况下工作。
@Service
和@Repository
只是@Component
的“子注释”,用于指定多一点的bean(将更多复杂的东西从存储库中分离出来)。从注射的角度来看,这三者是平等的。
对于注射,有3:
@Resource
@Inject
@Autowired
@Autowired
是最有力的注释,但是@Resource
(JSR-250)和@Inject
(JSR -330)是标准化的。 - 无论如何,如果你不打算在非Spring环境中重用你的应用程序,那么我不会多加关注这个问题。
见Annotation based configuration in Spring,最好Spring Annotation
教程适合我。
我更喜欢避免注释,特别是如果它们开始变得混乱。在这种情况下,没有什么不好的老吸气剂和吸入剂。只需要自己连线,这并不难,注释是必要的。
我一直在使用这种旧的方法多年来与getters和setter和xml文件。但随着春季的新版本,我想尝试注释。 – ashishjmeshram 2011-05-16 06:16:24
额外的xml配置是另一个复杂的层面(天气简单与否,它算作另一层)。 Java本身就是一种嘈杂的语言,仅仅为了注入而使用setter/constructors使得代码看起来更加笨拙。我不知道在Java代码需要更改时重构XML文件的IDE。 – AR3Y35 2012-10-20 22:56:45