¿Hay alguna manera de imprimir todos los granos de primavera que se cargan al inicio? Estoy utilizando Spring 2.0.Imprimir todos los beans de resorte que están cargados
48
A
Respuesta
56
Sí, ponerme en contacto con ApplicationContext
y llamar .getBeanDefinitionNames()
, usted puede obtener el contexto de:
- implementar
ApplicationContextAware
- inyectándole
@Inject
/@Autowired
(después de 2,5) - uso
WebApplicationContextUtils.getRequiredWebApplicationContext(..)
Relacionados: También puede detectar el registro de cada grano registrando un BeanPostprocessor
bean. Será notificado por cada frijol.
4
Se podría intentar llamar
org.springframework.beans.factory.ListableBeanFactory.getBeansOfType(Object.class)
O activar el registro de depuración para org.springframework
.
42
public class PrintBeans {
@Autowired
ApplicationContext applicationContext;
public void printBeans() {
System.out.println(Arrays.asList(applicationContext.getBeanDefinitionNames()));
}
}
15
Imprimir todos los nombres de soja y sus clases:
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
Con la primavera de arranque y el motor de arranque del actuador
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
puede comprobar el punto final /beans
+0
¡Gracias Vietnam! –
Cuestiones relacionadas
- 1. require.js: Acceda a todos los módulos cargados
- 2. No todos los conjuntos están siendo cargados en dominio de aplicación de la carpeta bin
- 3. Armazón de resorte predeterminado-perezoso-init todos los frijoles
- 4. ¿Cómo detectar si los archivos javascript están cargados?
- 5. Reemplazar todos los espacios que están dentro de llaves
- 6. ¿Cómo hago una lista de todos los conjuntos cargados?
- 7. Imprimir recursivamente todos los archivos de Vim
- 8. ¿Cómo obtengo una lista de todos los ensamblajes cargados actualmente?
- 9. Comprueba si jQuery o mooTools están cargados
- 10. ¿Instalando todos los paquetes CRAN que aún no están instalados?
- 11. ¿Están optimizados todos los motores de Javascript?
- 12. Determine los ensamblados cargados
- 13. asegurando que los archivos cargados sean seguros
- 14. ¿Hay un evento "Todos los niños cargados" en WPF
- 15. Spring DI - no inicialice todos los beans dependientes
- 16. Obtener todos los beans implementando una interfaz genérica en Spring
- 17. ¿Cómo obtengo todas las instancias de todos los tipos cargados que implementan una interfaz determinada?
- 18. ¿Están todos los archivos .class en mi aplicación Java cargados en la memoria después del inicio de la aplicación?
- 19. Comprobar si los elementos de todos los niños están ocultos
- 20. ¿Cómo imprimir las MAVEN_OPCIONES reales que se están utilizando?
- 21. Java: programación determinar todos los nombres de los paquetes cargados en la ruta de clase
- 22. ¿Cómo se ignoran todos los miembros de destino, excepto los que están mapeados?
- 23. Qt cómo capturar el evento que indica que todos los elementos de la GUI están listos
- 24. Imprimir todos los caracteres de una fuente en MS Word
- 25. método genérico para imprimir todos los elementos de una matriz
- 26. Cómo imprimir todos los valores de una matriz en Perl
- 27. ¿Dónde están todos los recursos estándar de íconos de Android?
- 28. Obtener las rutas de acceso de todos los ensamblados a los que se hace referencia
- 29. ¿Están todos los métodos de Java Properties totalmente sincronizados?
- 30. ¿Están todos los scripts escritos en lenguajes de script?
La razón para poner en práctica ' La interfaz de ApplicationContextAware' se debe a que Spring Framework le da * la oportunidad * de acceder al contexto de la aplicación . Debe colocarlo en la clase '@ Configuration' para el contexto de aplicación previsto. – smwikipedia
Un enlace relacionado: http://stackoverflow.com/questions/14829258/how-can-i-get-a-list-of-instantiated-beans-from-spring – smwikipedia