当前位置: 首页 > 面试题库 >

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

仲孙俊贤
2023-03-14
问题内容

有没有办法获取所有带有注释的Controller的列表@Controller?我想像这样使用它们:

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

谢谢!


问题答案:

getBeansWithAnnotation()

如果您已使用控制器…对其进行注释:

@Autowired
private ListableBeanFactory listableBeanFactory;

然后

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


 类似资料:
  • 问题内容: 有没有理由不将Controller映射为接口? 在所有的示例和问题中,我看到了周围的控制器,都是具体的类。是否有一个原因?我想将请求映射与实现分开。但是,当我尝试在具体类中获取a 作为参数时,我碰壁了。 我的Controller界面如下所示: And the implementing class: 该方法效果很好;在抛出一个异常 如果我将注释添加到具体类中,那么一切都会按预期工作,但是

  • 我们需要将现有的多个 PDF 导入到单个新 PDF 中。部分代码的工作方式类似于 iText 在操作 2nd 版的第 6.2.1 节中的示例代码: 然而,我们刚刚意识到,在处理带注释的可填充PDF时(在我们的例子中,那些PDF已经填充了数据),所有填充的数据在新的PDF中都丢失了。 我们在书的同一部分找到了答案: 了解呈现页面内容所需的资源与页面的交互功能之间的区别非常重要。通常,这些功能称为批注

  • 我的测试框架使用selenium的PageFactory和Lambok。我想编写一个方面来捕获测试流在运行时遇到的所有web元素。 一个典型的页面看起来像: @FindBy确定测试所处理的webelement。这样的页面有50页。 当使用PageFactory实例化页面时,将实例化webElement字段(使用与@FindBy中的值对应的webElement实例进行分配)。 我希望在实例化这些we

  • 而且 但这似乎不起作用,因为中没有可用的默认构造函数。我不熟悉龙目岛注释。有什么好的方法可以扩展基类,同时使用lombok注释吗?

  • [Original] The @Controller annotation indicates that a particular class serves the role of a controller. Spring does not require you to extend any controller base class or reference the Servlet API. H

  • 问题内容: 我们需要将现有的多个PDF导入到一个新的PDF中。部分代码的工作方式类似于 iText in Action 2nd Edition 第6.2.1节中的示例代码: 但是,我们只是意识到在处理带有注解的可填充PDF(在我们的示例中,那些PDF已经填充了数据)时,所有填充数据都会丢失在新PDF中。 我们在本书的同一部分找到了答案: 重要的是要理解呈现页面内容所需的资源与页面的交互功能之间的区