Есть ли способ распечатать все весенние бобы, которые загружаются при запуске? Я использую Spring 2.0.Распечатайте все весенние бобы, которые загружены
48
A
ответ
56
Да, получить Ахольд ApplicationContext
и вызвать .getBeanDefinitionNames()
Вы можете получить контекст:
- реализации
ApplicationContextAware
- впрыскиванием с
@Inject
/@Autowired
(после 2,5) - использования
WebApplicationContextUtils.getRequiredWebApplicationContext(..)
Связанный: Вы также можете обнаружить регистрацию каждого бина, зарегистрировав bean-компонент BeanPostprocessor
. Он будет уведомлен для каждого компонента.
4
Вы могли бы попробовать вызвать
org.springframework.beans.factory.ListableBeanFactory.getBeansOfType(Object.class)
Или включить ведение журнала отладки для org.springframework
.
42
public class PrintBeans {
@Autowired
ApplicationContext applicationContext;
public void printBeans() {
System.out.println(Arrays.asList(applicationContext.getBeanDefinitionNames()));
}
}
15
печати все имена боб и его классы:
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";
}
}
7
С весны Ботинок и привод стартера
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
вы можете проверить конечную точку /beans
+0
Спасибо, Вьетнам! –
Смежные вопросы
- 1. Распечатайте все загруженные весенние бобы - Spring Boot
- 2. Обновить весенние бобы, исключая некоторые бобы
- 3. Jackson Serializers Весенние бобы
- 4. динамически менять весенние бобы
- 5. Весенние бобы и нитки
- 6. Весенние бобы, которые основаны на application.properties от подмодуля
- 7. Весенние бобы с Activiti BPMN
- 8. Как «белая этикетка» весенние бобы
- 9. Назначить весенние бобы с аннотациями
- 10. Вставить весенние бобы в RestEasy
- 11. Что в мире - весенние бобы?
- 12. Весенние бобы: сеанс и globalSession
- 13. Отшелушивающие весенние бобы в Муните
- 14. Весенние бобы неразрешенные в IntelliJ
- 15. Весенние бобы DTD и XMLNS
- 16. HK2 не видит Весенние бобы
- 17. Инициализировать весенние бобы при запуске теста Джерси
- 18. Сделать все весенние бобы определенного типа запроса областью
- 19. Возможно ли зарегистрировать все классы в пакете как Весенние бобы
- 20. Как использовать весенние бобы в приложении Clojure?
- 21. Весенние однополюсные бобы в высокой нагрузке
- 22. Весенние однополюсные бобы в разных контекстах применения
- 23. Вводные весенние бобы в Groovy Script
- 24. как подключить синглтон Весенние бобы при десериализации
- 25. Весенние бобы созданы, но не автоуровневые
- 26. Весенние бобы дважды инициализируются - интеграция весов
- 27. Найти все бобы, которые имеют аннотации
- 28. Весенние бобы не настроены для struts2?
- 29. Весенние бобы не показаны под пружинными элементами
- 30. Весенние бобы GeoModule bean injection to RepositoryRestMvcConfiguration
Причина реализации ' Интерфейс ApplicationContextAware' состоит в том, что Spring Framework дает возможность * получить доступ к контексту приложения , Вы должны поместить его в класс '@ Configuration' для предполагаемого контекста приложения. – smwikipedia
Связанная ссылка: http://stackoverflow.com/questions/14829258/how-can-i-get-a-list-of-instantiated-beans-from-spring – smwikipedia