In diesem Artikel werde ich den Prozess des Einrichtens einer AWS RDS MySQL -Instanz durchgehen, nachdem ich die Sicherheitsgruppe konfiguriert und mit Ihrer Spring -Boot -Anwendung verbindet und die Verbindung getestet habe.
Bevor Sie die RDS -Instanz einrichten, müssen Sie sicherstellen, dass die Instanz zugänglich ist. Sie können dies tun, indem Sie eine AWS Sicherheitsgruppe konfigurieren. Die Sicherheitsgruppe fungiert als virtuelle Firewall, um eingehende und ausgehende Verkehr zu kontrollieren.
Sobald die Sicherheitsgruppe eingerichtet ist, konfigurieren Sie die rds instance .
HINWEIS: Ich brauche keine bestimmte EC2 -Instanz für diese DB, da keine Rechenressourcen zuweisen müssen.
Nach dem Konfigurieren dieser Einstellungen klicken Sie auf Datenbank erstellen , um die Bereitstellung der RDS -Instanz zu starten. Es wird ein paar Minuten für die Schöpfung dauern.
Jetzt, da Ihre RDS MySQL -Instanz in Betrieb ist, können Sie Ihre Spring -Boot -Anwendung so konfigurieren, dass sie eine Verbindung zu dem erhalten hat.
Ich werde nicht in den Spring -Boot eintauchen, ich zeige nur ein paar Java -Dateien und -konfigurationen, um eine Idee zu bekommen. Wenn Sie neu im Spring -Boot sind, erhalten Sie vor dieser Implementierung eine Grundidee zu Spring Boot -Anwendungen.
In Ihrem Spring Boot -Projekt müssen Sie die erforderlichen Datenbankverbindungsdetails in der Datei application.Properties hinzufügen. Die Verbindung verwendet den Endpunkt (unter der Konnektivität und Sicherheit der RDS -Instanz) zusammen mit den während des RDS -Setups festgelegten Anmeldeinformationen.
spring.application.name=DevOps spring.datasource.url=jdbc:mysql:///devops spring.datasource.username=admin spring.datasource.password= spring.jpa.hibernate.ddl-auto=update
Stellen Sie sicher, dass Sie die Abhängigkeit von MySQL -Treiber in Ihrem pom.xml für Maven oder Build.gradle für Gradle haben.
für maven:
mysql mysql-connector-java
für Gradle:
implementation 'mysql:mysql-connector-java'
Hinweis: Stellen Sie sicher, dass Sie auch Spring-Boot-Starter-Data-JPA-Abhängigkeit hinzufügen.
Sie können jetzt Ihre JPA -Entität und das entsprechende Repository definieren. Zum Beispiel um eine user Entity zu erstellen:
@Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String email;}
und eine Repository -Schnittstelle:
@Repository public interface UserRepository extends JpaRepository{ }
Erstellen Sie einen Controller, um Anfragen zu behandeln, die sich auf die user entität beziehen. Der folgende Code zeigt, wie Sie eine einfache Postmethode zum Speichern von Benutzerdaten erstellen:
@RestController @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @PostMapping public String saveUser(@RequestBody User user){ try { userService.saveUser(user); return "Success!"; } catch (Exception e) { return e.getMessage(); } } }
Die UserService -Klasse übernimmt das Speichern der Daten in der Datenbank.
@Service public class UserService { @Autowired private UserRepository userRepository; public void saveUser(User user) { userRepository.save(user); } }
Sie können die Verbindung mit mysql workbench überprüfen, um eine Verbindung zur AWS -RDS -Instanz herzustellen. Geben Sie die Verbindungsdetails wie folgt ein:
Sobald Sie verbunden sind, können Sie die Datenbanken und Tabellen durchsuchen, um zu bestätigen, dass Ihre Spring -Boot -Anwendung mit der MySQL -Datenbank interagiert.
Sie können den Post -Endpunkt mit postman testen. Senden Sie eine post Anfrage an http: // localhost: 8080/Benutzer mit einem JSON -Körper:
{ "name": "test", "email": "[email protected]" }
Sie sollten eine Antwort sehen "Erfolg!" Wenn alles richtig eingerichtet ist.
Sie haben Ihre Spring -Boot -Anwendung jetzt erfolgreich mit einer AWS RDS MySQL -Instanz verbunden. Durch die Ausführung der obigen Schritte konnten Sie:
Dieses Setup sorgt für ein nahtloses und skalierbares Datenbank -Backend für Ihre Spring -Boot -Anwendung, die auf AWS gehostet wird.
Lassen Sie mich wissen, ob Sie weitere Hilfe benötigen oder ob Sie Ideen haben, um das Setup zu verbessern!
Danke schön!
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3