使用 @Controller 获取所有带注释的控制器

2022-01-13 00:00:00 annotations spring java

有没有办法获得所有控制器的列表,这些控制器都用 @Controller 注释?我想像这样使用它们:

Is there a way to get a list of all Controllers, which were annotated with @Controller? I would like to use them like:

@Autowired
public void addAll(List<Controller> controllers) throws Exception {
    for (Controller controller : controllers) {
        ...
    }
}

谢谢!

推荐答案

getBeansWithAnnotation()

如果你用控制器对它们进行了注释...:

If you have annotated them with controller ... :

@Autowired
private ListableBeanFactory listableBeanFactory;

然后

Map<String, Object> controllers;
controllers = listableBeanFactory.getBeansWithAnnotation(Controller.class);

相关文章