3 回答
TA贡献2037条经验 获得超6个赞
请尝试下面给定的代码。
Map<String,Object> beans = ctx.getBeansWithAnnotation(Controller.class);
System.out.println(beans.size());
或者你可以用反射库试试这个。下面给出的片段可以在整个项目中搜索。
maven依赖:
org.reflections 反射 0.9.10
import org.reflections.Reflections;
public class FindAnnotation {
public static void main(String[] args) {
System.out.println("Scanning using Reflections:");
Reflections ref = new Reflections("com.some.package");
for (Class<?> cl : ref.getTypesAnnotatedWith(Controller.class)) {
//count
}
}}
TA贡献1806条经验 获得超5个赞
This may helpful...
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
ApplicationContext applicationContext =SpringApplication.run(DemoApplication.class, args);
Map<String,Object> beans = applicationContext.getBeansWithAnnotation(Controller.class);
System.out.println(beans.size());
}
}
TA贡献1817条经验 获得超14个赞
这当然取决于您尝试计算Controller
豆子的方式。
编程方式
如果您将通过自定义部署的实用程序计算您的 bean(即实现的方法应该在类中能够ApplicationContext
在运行时访问),那么之前建议的解决方案将是一个很好的选择。
同时,您应该注意Controller
有条件部署的 bean。
弹簧执行器
如果您激活了Spring Actuator并启用了 beans 检查,您只需点击部署的端点以获取可用的 beans 并过滤JSON输出以获取您的*Controller
beans。
添加回答
举报