Spring Boot Bean Listesi E-posta Gönderici Rehberi
Bu rehber, Spring Boot uygulamanızda tüm bean'lerin listesini alıp e-posta olarak göndermeyi açıklamaktadır. Bu işlemi gerçekleştirmek için bir ApplicationListener
veya CommandLineRunner
kullanabilirsiniz.
Adımlar
- E-posta gönderimi için Spring Boot Mail starter'ını projenize ekleyin.
- Uygulama özelliklerinde e-posta ayarlarını yapılandırın.
- Tüm bean'leri listelemek ve e-posta göndermek için bir
CommandLineRunner
oluşturun.
Uygulama
1. pom.xml'e Ekleme
pom.xml
dosyanıza Spring Boot Mail starter'ını ekleyin:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
2. E-posta Ayarları
application.properties
veya application.yml
dosyanızda e-posta ayarlarını yapılandırın:
spring.mail.host=smtp.gmail.com spring.mail.port=587 spring.mail.username=your-email@gmail.com spring.mail.password=your-password spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true
3. Bean Listesi ve E-posta Gönderimi
Aşağıdaki BeanListerEmailSender
sınıfını projenize ekleyin:
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.context.ApplicationContext; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.stereotype.Component; import java.util.Arrays; @Component public class BeanListerEmailSender implements CommandLineRunner { @Autowired private ApplicationContext applicationContext; @Autowired private JavaMailSender emailSender; @Override public void run(String... args) { String[] beanNames = applicationContext.getBeanDefinitionNames(); Arrays.sort(beanNames); StringBuilder messageBody = new StringBuilder("Spring Boot Bean Listesi:\n\n"); for (String beanName : beanNames) { messageBody.append(beanName).append("\n"); } SimpleMailMessage message = new SimpleMailMessage(); message.setFrom("sender@example.com"); message.setTo("recipient@example.com"); message.setSubject("Spring Boot Bean Listesi"); message.setText(messageBody.toString()); emailSender.send(message); System.out.println("Bean listesi e-posta olarak gönderildi."); } }
Notlar
- Uygulamanızı çalıştırdığınızda, tüm bean'lerin listesi belirttiğiniz e-posta adresine gönderilecektir.
- Kodda gönderen ve alıcı e-posta adreslerini kendi ihtiyaçlarınıza göre değiştirmeyi unutmayın.
- Prodüksiyon ortamında, şifreleri doğrudan kod içinde veya yapılandırma dosyalarında saklamak yerine, güvenli bir şekilde yönetilen ortam değişkenleri veya şifre yönetim sistemleri kullanmanız önerilir.
Bu yaklaşım, Spring Boot uygulamanız başlatıldığında otomatik olarak çalışacak ve tüm bean'lerin listesini e-posta olarak gönderecektir.
Tags
spring boot