我不知道如何实现这一点。任何帮助和/或指针将不胜感激。
目前,我的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类中为此设置DataSource和JdbcTemplatebean。
实施此方法的正确/正确方法是什么?
-----编辑-开始-----
我正在尝试将其实现为可用于多个项目的库。也就是说,它将用作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) 任何人都知道为什么在 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)
我四处看了看,遇到的唯一类似问题是:
任何帮助将不胜感激。
谢谢!
我是SCSS的新手,不确定如何使用它。我到处寻找SO和其他地方,但找不到解决方案。
我正在开发一个显示电话列表的应用程序。我通过调用REST API获得此列表(以JSON形式)。所有电话都具有要显示的相同类型的信息,例如名称,型号,价格,可用量,数量。
请注意,我的问题与SASS中的Access HTML属性值不同。此链接讨论计算父元素的子代数。在我的情况下,我想获取样式表代码(颜色,字体大小,字体宽度),具体取决于JSON对象的属性之一的值。
我正在尝试做的是:
我已经在SCSS中阅读了有关@mixin的内容,并且他们可以接受参数。我想我可以用它来传递我的电话类型的整数/数字值。
我所看到的所有示例都是通过传入参数值从另一个SCSS文件中调用@mixin。
这是将参数值传递给@mixin的唯一方法吗?
如果有人可以告诉我是否有办法将参数值(在我的情况下为电话类型)从HTML传递给SCSS @mixin,那将是很好的。
非常感谢您的帮助。
谢谢。
我已经尝试了我所知道的一切以及我在网上找到的任何东西,但它只是不起作用.我一直在:
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 ×2
amazon-rds ×1
architecture ×1
arraylist ×1
aws-iam ×1
collections ×1
css3 ×1
eclipse ×1
hashmap ×1
html ×1
maven ×1
sass ×1
spring ×1
spring-boot ×1
spring-jdbc ×1