Olá, Rudson.
Tudo bem?
Entendo que o Actuator possa parecer um pouco mágico à primeira vista. Vamos ver um pouco disso juntos!
O Actuator é um subprojeto do Spring Boot que permite monitorar e gerenciar sua aplicação em tempo real. Ele fornece vários endpoints prontos para uso que fornecem informações sobre o estado da aplicação, como saúde, métricas, info, dump, env, etc.
Quanto à sua pergunta sobre como o Actuator sabe que tem um banco que a aplicação conecta e qual é este banco, ele não sabe disso por si só. O Actuator apenas expõe os detalhes que a aplicação já conhece. Por exemplo, no caso do endpoint '/health', ele exibe o status de todos os componentes autoconfigurados do Spring Boot, como um DataSource ou um Mongo. Se o Spring Boot puder se conectar a esses componentes, o status será 'UP'; caso contrário, será 'DOWN'.
No caso do banco de dados, o Actuator usa o HealthIndicator do Spring Boot para verificar a saúde do banco de dados. Se a aplicação estiver conectada a um banco de dados MySQL, por exemplo, o Spring Boot autoconfigura um DataSourceHealthIndicator para verificar a saúde do banco de dados. O Actuator apenas expõe essas informações.
Sobre sua dúvida se o Actuator faz tudo isso sem especificar nada, a resposta é sim e não. Sim, porque o Actuator vem com muitos recursos prontos para uso. Não, porque você ainda precisa adicionar a dependência do Actuator ao seu projeto e configurar quais endpoints deseja expor.
Aqui está um exemplo de como adicionar o Actuator ao projeto Maven:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
E aqui está um exemplo de como configurar quais endpoints expor em seu arquivo application.properties:
# actuator
management.endpoint.health.show-details=always
management.endpoints.web.exposure.include=health,info,metrics
Neste exemplo, os endpoints de health, info e metrics estão sendo expostos.
Para mais detalhes, recomendo que você leia a documentação oficial do Actuator.
Espero ter ajudado e bons estudos!