”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > AWS RDS与Spring Boot连接指南

AWS RDS与Spring Boot连接指南

发布于2025-04-16
浏览:483

介绍

在本文中,我将介绍配置安全组并将其连接到您的Spring Boot应用程序并测试连接后设置AWS RDS MySQL实例的过程。

步骤1:创建一个新的安全组

在设置RDS实例之前,您需要确保该实例可访问。您可以通过配置AWS

安全组来做到这一点。安全组充当一个虚拟防火墙,以控制入站和出站流量。

    :转到
  • ec2 dashboard 安全组创建安全组 Inbound规则 选择类型为mysql/aurora(因为我打算使用mySQL),它打开端口3306(mysql默认端口)。
  • 设置为我的IP,然后它将自动获取您的IP地址与RDS实例连接。
    • 出站规则
  • [2 [2
  • 设置了安全组后,请继续配置
      步骤2:配置RDS实例
选择数据库引擎

:在这种情况下,选择Connecting AWS RDS to Spring Boot

[2

Connecting AWS RDS to Spring Boot

选择一个template

:为简单起见,您可以使用,因为我要设置一个演示应用程序。 [2

设置db实例

    选择
  • Define DB Instance Identifier, Master Username (I used default name "admin"), and
  • Password
.

Connecting AWS RDS to Spring Boot

    [2
  • 选择一个DB实例类
  • 我选择了db.t3.micro(最小资源选项),因为无需更多的CPU或RAM。

Connecting AWS RDS to Spring Boot [2

  • 选择一个存储类型
      通用SSD和20 GB存储值足以容纳我的演示应用程序。
    • 注意:我不需要此DB的特定EC2实例,因为无需分配计算资源。 [2 配置这些设置后,单击创建数据库开始配置RDS实例。创建将需要几分钟。 步骤3:配置Spring Boot Application
  • 现在您的RDS MySQL实例正在启动并运行,您可以继续配置Spring Boot应用程序以连接到它。

我不会深入研究Spring Boot,我只是显示一些Java文件和配置以获取一个想法。如果您是春季启动的新手,请在实施之前获取有关Spring Boot应用程序的基本想法。 Connecting AWS RDS to Spring Boot

3.1。 Update Application.properties
  • 在您的Spring Boot项目中,您需要在application.properties文件中添加必要的数据库连接详细信息。该连接将使用端点(在RDS实例的连接性和安全性下)以及RDS设置期间设置的凭据。
      spring.application.name = devops spring.datasource.url = jdbc:mysql:// /devOps spring.datasource.username = admin spring.datasource.password = spring.jpa.hibernate.ddl-auto =更新
  • :这是您的RDS实例的URL(用您收到的实际RDS端点替换主机)。

Connecting AWS RDS to Spring Boot

:您为RDS实例配置的密码。
  • :设置为自动更新您的架构(非常适合开发)。
    • 3.2。添加mySQL依赖关系
    确保您的pom.xml中的mySQL驱动程序依赖性用于maven或build.gradle。

mySQL mysql-connector-java

gradle:Connecting AWS RDS to Spring Boot

实现'mysql:mysql-connector-java' 注意:确保还添加Spring-boot-starter-data-jpa依赖项。

3.3。定义JPA实体和存储库

现在可以定义您的JPA实体和相应的存储库。例如,创建一个

实体:

@实体 公共类用户{ @ID @generatedValue(策略= generatype.Identity) 私人长ID; 私有字符串名称; 私人字符串电子邮件; } 和一个存储库接口:


@repository public界面userrepository扩展了jparepository { }

spring.application.name=DevOps
spring.datasource.url=jdbc:mysql:///devops
spring.datasource.username=admin
spring.datasource.password=
spring.jpa.hibernate.ddl-auto=update
  • 创建一个控制器来处理与 user
  • entity相关的请求。以下代码显示了如何创建一个简单的帖子方法来保存用户数据:
  • @restController @requestmapping(“/user”) 公共类UserController { @Autowired 私人用户服务用户服务; @postmapping public String saveuser(@requestbody用户用户){ 尝试 { uservice.saveuser(用户); 返回“成功!”; } catch(异常E){ 返回e.getMessage(); } } } uservice类将数据保存到数据库。
  • @服务 公共类用户服务{ @Autowired 私人用户repository userrepository; public void saveuser(用户用户){ userrepository.save(用户); } }
  • 步骤5:验证MySQL WorkBench中的连接 您可以通过使用
  • mysql workbench
连接到AWS RDS实例来验证连接。输入连接详细信息如下:

:rds实例的端点。

用户名
:admin username。


    mysql
    mysql-connector-java

密码

:您为数据库设置的密码。

implementation 'mysql:mysql-connector-java'
:3306。

连接后,您可以浏览数据库和表以确认您的Spring Boot应用程序正在与MySQL数据库进行交互。 [2

您可以使用
Postman

测试Post Endpoint。将
@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private String email;

    
}


{ “名称”:“测试”, “电子邮件”:“ [email protected]” }

@Repository
public interface UserRepository extends JpaRepository {
}
“成功!”
如果一切都正确设置。 [2

结论

您现在已成功将Spring Boot应用程序连接到AWS RDS MySQL实例。通过遵循上述步骤,您可以:

@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();
        }
    }
}

为访问控制配置必要的安全组。

通过JDBC将Spring Boot应用程序连接到RDS实例。
@Service
public class UserService {

    @Autowired
    private UserRepository userRepository;
    public void saveUser(User user) {
        userRepository.save(user);
    }
}

此设置可确保您在AWS上托管的Spring Boot应用程序的无缝和可扩展数据库后端。

让我知道您是否需要进一步的帮助,或者是否有任何想法来改进设置! 谢谢你!

版本声明 本文转载于:https://dev.to/sachithmayantha/connecting-aws-rds-to-spring-boot-387o?1如有侵犯,请联系[email protected]删除
最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3