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