在这里,我有一个方法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并获取存储在其中的值。

08-28 23:55