Come posso conoscere i nomi di tutti i bean caricati come parte della mia app di avvio a molla? Vorrei avere qualche codice nel metodo principale per stampare i dettagli dei bean che vengono caricati una volta avviato il server.Stampa tutti i bean Spring caricati - Spring Boot
risposta
Come mostrato nella guida introduttiva della primavera-boot: https://spring.io/guides/gs/spring-boot/
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public CommandLineRunner commandLineRunner(ApplicationContext ctx) {
return args -> {
System.out.println("Let's inspect the beans provided by Spring Boot:");
String[] beanNames = ctx.getBeanDefinitionNames();
Arrays.sort(beanNames);
for (String beanName : beanNames) {
System.out.println(beanName);
}
};
}
}
Grazie, questo aiuta! –
Posso suggerire utilizzando Attuatore? fornisce diversi endpoint incluso /beans
che elenca tutti i bean nell'applicazione. Dici "una volta avviato il server" quindi questa è un'opzione per le applicazioni web.
Per impostare attuatore
Elenco degli endpoint in attuatore
http://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html
Grazie per aver fornito anche un'opzione diversa. Tuttavia l'approccio fornito da Yannic Klem ha funzionato. –
bene, anche se, a questa domanda è già una risposta, mi st voglio dare una risposta che è una variante di Java 8 :)
Arrays.asList(context.getBeanDefinitionNames()).stream().sorted().forEach(System.out::println);
Consente di fare Java 8 !!!
In realtà, consiglierei di creare questa classe oltre a modificare @SpringBootApplication.
@Component
public class ContextTeller implements CommandLineRunner {
@Autowired
ApplicationContext applicationContext;
@Override
public void run(String... args) throws Exception {
System.out.println("-------------> just checking!");
System.out.println(Arrays.asList(applicationContext.getBeanDefinitionNames()));
}}
In questo modo Spring Boot caricherà questa classe ed eseguirà subito dopo aver caricato il contesto. Quindi è sufficiente rimuovere il file e tutto è chiaro.
- 1. Stampa tutti i bean Spring caricati
- 2. Dove mettere @Bean in Spring Boot?
- 3. Spring Boot + Spring swagger error
- 4. Spring Boot + Spring Security + Hierarchical Roles
- 5. Inject Spring bean in groovy bean
- 6. Convertire l'applicazione Spring esistente in Spring-Boot
- 7. Spring Boot Configurazione Elasticsearch
- 8. spring boot dependency injection
- 9. Spring Boot + Spring Data con multi tenancy
- 10. Inizializzazione bean bean Spring
- 11. Spring boot - configure EntityManager
- 12. Qual è l'ambito del bean predefinito utilizzato da Spring Boot?
- 13. Configurazione Spring-Boot e Spring-Security
- 14. Spring Boot e FreeMarker
- 15. Spring Boot devtools IntelliJ
- 16. Spring Boot Autowired null
- 17. Spring richiede che tutti i bean abbiano un costruttore predefinito?
- 18. Integrazione Flyway e Spring Boot
- 19. spring-boot-starter-tomcat vs spring-boot-starter-web
- 20. Controllo bean di primavera con JavaMelody nel progetto Spring-Boot
- 21. Spring Boot con MongoTemplate
- 22. EHCache Configuration + Spring Boot: NoCacheRegionFactoryAvailableException
- 23. Spring Boot con Spring Social Provider Google
- 24. Avvio automatico dell'applicazione Spring Boot
- 25. Spring Boot condizionale su @ConfigurationProperties
- 26. Spring boot + Groovy + logback.groovy
- 27. Utilizzo dell'alias bean Spring
- 28. riferimenti bean Spring opzionali
- 29. Spring Boot @ Schedched cron
- 30. Spring Boot offfuscator
Possibile duplicato di [Come posso ottenere un elenco di bean istanziati da Spring?] (Http://stackoverflow.com/questions/14829258/how-can-i-get-a-list-of-stant-feans -da primavera) –