Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我可以在SpringMVC中将包的所有类注册为控制器吗?_Java_Spring_Spring Mvc_Controller - Fatal编程技术网

Java 我可以在SpringMVC中将包的所有类注册为控制器吗?

Java 我可以在SpringMVC中将包的所有类注册为控制器吗?,java,spring,spring-mvc,controller,Java,Spring,Spring Mvc,Controller,在我的项目中,我使用“springmvc路由器”从类定义中删除@RequestMapping注释 同样,是否可以删除类定义中的@Controller和@Service注释 此外,我的包com.test.controllers包括用@Controller注释的所有控制器和用@service注释的com.test.service.impl 因此,可以将com.test.controllers下的所有类注册为不带@Controller?的控制器吗?。。。服务注释也是如此。否。@Controller是一

在我的项目中,我使用“springmvc路由器”从类定义中删除@RequestMapping注释

同样,是否可以删除类定义中的@Controller和@Service注释

此外,我的包com.test.controllers包括用@Controller注释的所有控制器和用@service注释的com.test.service.impl


因此,可以将com.test.controllers下的所有类注册为不带@Controller?的控制器吗?。。。服务注释也是如此。

否。
@Controller
是一个特定的原型注释,用于检测为
@RequestMapping
处理的控制器。如果需要检测,则至少需要
@Component
如果不需要,则需要手动在XML或Java配置中配置每个bean。此外,根据springmvc路由器项目的文档判断,您仍然需要
@Controller
注释才能正常工作。至少,是否有可能在编译之前或spring上下文加载之前(使用反射…!)将@Controller添加到某些包成员类中?(我使用maven作为依赖项管理器和构建工具)你可以使用AspectJ,但为什么呢?为什么要把事情弄得这么复杂呢?我认为你的设计是有缺陷的(技术上的分离而不是功能上的分离,但唉)。如前所述,你可以用AspectJ做这些事情,但这就像拿着佳能拍苍蝇一样。