在这里,我有一个方法getAWSCredential
,它返回带有某些值的cred
。
@Override
public AWSCredentialDTO getAWSCredential(String user_name) {
AWSCredentialDTO cred= (AWSCredentialDTO) entityManager.createNativeQuery("select * from aws_user_credentials a where a.user_name=:userName",AWSCredentialDTO.class)
.setParameter("userName", user_name).getSingleResult();
return cred;
}
在这里,我还有一个服务
ec2
,在这里我需要利用以前方法中cred
返回的值。private AmazonEC2 ec2;
public AmazonEC2 ec2() {
BasicAWSCredentials awsCreds = new BasicAWSCredentials(aws_access_key_id,
aws_secret_access_key);
return AmazonEC2ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCreds))
.withRegion(Regions.AP_SOUTH_1).build();
}
以上两种方法都是单独的类。首先,我将运行
getAWSCredential
,然后在需要使用ec2
值的地方调用cred
。谁能建议我如何实现这一目标?这是一个Spring Boot应用程序。
最佳答案
创建一个单独的类,例如ClassCred
,并在同一类ClassCred
中为ClassCred credObj = new ClassCred()
创建一个对象。从credObj
方法获取getAWSCredential(String user_name)
并将cred
方法返回的getAWSCredential
设置为credObj
。现在,对象credObj
具有cred
方法返回的值getAWSCredential
。现在,从您的ec2()
方法中,您可以调用credObj
并获取存储在其中的值。