小编Gau*_*uzy的帖子

使用IAM身份验证和Spring JDBC(DataSource和JdbcTemplace)访问AWS RDS

我不知道如何实现这一点。任何帮助和/或指针将不胜感激。

目前,我的Java / Spring应用程序后端已部署在EC2上,并使用常规的Spring JDBC设置成功访问了RDS上的MySQL。也就是说,存储数据库中的信息application.properties和配置DataSource,并JdbcTemplate@Configuration类。一切正常。

现在,我需要安全地访问RDS上的MySQL 。RDS实例已启用IAM身份验证。我还成功创建了IAM角色并应用了内联策略。然后,按照此链接上的AWS RDS文档和Java示例,我能够使用身份验证令牌和我创建的用户(而不是常规的db用户名和密码)从独立的Java类成功访问数据库。这个独立的Java类直接处理“ Connection ”对象。

我遇到的困难是如何将其转换为Spring JDBC配置。也就是说,在我的@Configuration类中为此设置DataSourceJdbcTemplatebean。

实施此方法的正确/正确方法是什么?

-----编辑-开始-----

我正在尝试将其实现为可用于多个项目的库。也就是说,它将用作JAR,并在项目的POM文件中声明为依赖项。该库将包括可配置的AWS服务,例如使用常规DB用户名和密码的RDS访问,使用IAM身份验证的RDS访问,用于数据加密的KMS(CMK /数据密钥)等。

想法是根据项目在任何Web /应用服务器上使用此库。

希望这可以澄清我的需求。

-----编辑-结束-----

DataSource内部具有getConnection(),因此我基本上可以创建自己的DataSource实现来实现所需的功能。但这是一个好方法吗?

就像是:

public class MyDataSource implements DataSource {
    @Override
    public Connection getConnection() throws SQLException {
        Connection conn = null;
        // get a connection using IAM Authentication Token for …
Run Code Online (Sandbox Code Playgroud)

java architecture spring-jdbc amazon-rds aws-iam

6
推荐指数
2
解决办法
2447
查看次数

处理 POM 时出现 Maven 错误:[致命] 不可解析的 POM...PITarget 带有保留的 xml 名称

任何人都知道为什么在 Springsource Tool Suite 中导入 Spring Boot 项目后会立即出现此错误:

[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[FATAL] Non-parseable POM C:\Users\...\.m2\repository\com\fasterxml\oss-parent\33\oss-parent-33.pom: processing instruction can not have PITarget with reserved xml name (position: END_TAG seen ...</profiles>\n\n</project>\n<?xml
Run Code Online (Sandbox Code Playgroud)

我四处看了看,遇到的唯一类似问题是:

  • ,然而,该解决方案有是创建一个新的工作区来解决它。它对我不起作用。
  • 这个但这也并不为我工作。

任何帮助将不胜感激。

谢谢!

eclipse spring maven spring-boot

3
推荐指数
2
解决办法
6604
查看次数

将值从HTML传递到SCSS

我是SCSS的新手,不确定如何使用它。我到处寻找SO和其他地方,但找不到解决方案。

我正在开发一个显示电话列表的应用程序。我通过调用REST API获得此列表(以JSON形式)。所有电话都具有要显示的相同类型的信息,例如名称,型号,价格,可用量,数量。

请注意,我的问题与SASS中的Access HTML属性值不同。此链接讨论计算父元素的子代数。在我的情况下,我想获取样式表代码(颜色,字体大小,字体宽度),具体取决于JSON对象的属性之一的值。

我正在尝试做的是:

  • 根据电话的类型,以自己的DIV /卡显示这些电话,并用各自的颜色显示。“电话类型”是整数值。
  • 以不同的字体大小显示名称,价格,可用量和数量。

我已经在SCSS中阅读了有关@mixin的内容,并且他们可以接受参数。我想我可以用它来传递我的电话类型的整数/数字值。

我所看到的所有示例都是通过传入参数值从另一个SCSS文件中调用@mixin

这是将参数值传递给@mixin的唯一方法吗?

如果有人可以告诉我是否有办法将参数值(在我的情况下为电话类型)从HTML传递给SCSS @mixin,那将是很好的。

非常感谢您的帮助。

谢谢。

html sass css3

2
推荐指数
2
解决办法
9388
查看次数

将map.values()返回的Collection转换为List

我已经尝试了我所知道的一切以及我在网上找到的任何东西,但它只是不起作用.我一直在:

java.lang.ClassCastException:java.util.LinkedHashMap无法强制转换为com.mycompany.myproject.dto.MyDto

如果有人能在下面的代码中告诉我我做错了什么,我将不胜感激:

List<Map<Long, MyDto>> dtoList = restTemplate.getForObject(myRestUrl + "/some-path/dtoInfo/" + ids, List.class);
Map<Long, MyDto> myMap = dtoList.get(0);
System.out.println("myMap SIZE is: " + myMap.size());
System.out.println("myMap is: " + myMap);

List<MyDto> dtos = new ArrayList<MyDto>(myMap.values());
StringJoiner sj = new StringJoiner(",");
for(MyDto obj : dtos) {
    sjStoreIds.add(obj.getId());
}
Run Code Online (Sandbox Code Playgroud)

REST调用返回一个List,其中包含一个HashMap对象,其中"Key"类型为Long,而"Value"类型为MyDto.然后我打印地图的"大小"和地图本身.两者都打印正确和预期的信息.

然后我从地图中提取值列表,如下所示:

List<MyDto> dtos = new ArrayList<MyDto>(myMap.values());
Run Code Online (Sandbox Code Playgroud)

没问题.

但是,当我尝试通过转换列表中的对象(dtos)时,如下所示:

for(MyDto obj : dtos) {
    sjStoreIds.add(obj.getId());
}
Run Code Online (Sandbox Code Playgroud)

我得到java.lang.ClassCastException:java.util.LinkedHashMap中不能被强制转换为com.mycompany.myproject.dto.MyDto用于为(MyDto OBJ:DTOS){一部分.

现在旋转我的大脑超过2个小时.:(

我相信它会变成一种非常基本的东西,一旦我知道它就会生气和尴尬,但有人可以告诉我我做错了吗?

编辑

以下是我在服务器端的REST实现: …

java collections arraylist hashmap

0
推荐指数
1
解决办法
978
查看次数