注释Spring @Controller也作为Bean?

pak*_*man 0 java spring controller spring-mvc

注释的Spring MVC控制器是否也可以使用@ Component/@ Service类型的注释进行注释,并且既可以用作控制器,也可以用作bean?

lah*_*her 5

编辑:更加重视软件设计方面,并更新到SpringV3的API链接

正如其他答案中所提到的,这不是Spring MVC的理想方法,但是控制器已经可以在ApplicationContext中进行自动装配.

它已经是ApplicationContext中的Bean,因此您可以按类型自动连接它.无需添加@Component注释.

来自Spring API文档:"此注释用作@Component的特化,允许通过类路径扫描自动检测实现类."

http://static.springsource.org/spring/docs/3.0.x/api/org/springframework/stereotype/Controller.html

@Service也是如此.

虽然我自己也做过,但我通常不会推荐这种设计方法.

如果可能,将所需的功能重构为一个单独的bean,然后可以根据需要(自动)连接到@Controller和任何其他bean.

如果你正如你所评论的那样,你被"逼入"这个决定(就像我以前的设计选择一样),那么就这样吧.

HTH