Есть ли способ распечатать все spring beans, которые загружаются при запуске? Я использую spring 2.0.
Распечатайте все загруженные Spring beans
Ответ 1
Да, получите ApplicationContext
и вызовите .getBeanDefinitionNames()
Вы можете получить контекст:
- реализация
ApplicationContextAware
- вводя его
@Inject
/@Autowired
(после 2.5) - использовать
WebApplicationContextUtils.getRequiredWebApplicationContext(..)
Связано: Вы можете также обнаружить каждую регистрацию bean, зарегистрировав BeanPostprocessor
bean. Он будет уведомлен для каждого bean.
Ответ 2
public class PrintBeans {
@Autowired
ApplicationContext applicationContext;
public void printBeans() {
System.out.println(Arrays.asList(applicationContext.getBeanDefinitionNames()));
}
}
Ответ 3
Распечатайте все имена < bean и его классы:
package com.javahash.spring.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class HelloWorldController {
@Autowired
private ApplicationContext applicationContext;
@RequestMapping("/hello")
public String hello(@RequestParam(value="key", required=false, defaultValue="World") String name, Model model) {
String[] beanNames = applicationContext.getBeanDefinitionNames();
for (String beanName : beanNames) {
System.out.println(beanName + " : " + applicationContext.getBean(beanName).getClass().toString());
}
model.addAttribute("name", name);
return "helloworld";
}
}
Ответ 4
С помощью Spring Загрузите и стартер привода
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
вы можете проверить конечную точку /beans
Ответ 5
Вы можете попробовать позвонить
org.springframework.beans.factory.ListableBeanFactory.getBeansOfType(Object.class)
Или включите ведение журнала отладки для org.springframework
.