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

Voj*_*ěch 5 java spring annotations

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

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

谢谢!

Nim*_*sky 18

getBeansWithAnnotation()

如果你用控制器注释了它们:

@Autowired
private ListableBeanFactory listableBeanFactory;
Run Code Online (Sandbox Code Playgroud)

然后

Map<String, Object> controllers;
controllers = listableBeanFactory.getBeansWithAnnotation(Controller.class);
Run Code Online (Sandbox Code Playgroud)