Hanzo
PlatformHanzo KMSIntegrationsFrameworks

Spring Boot with Maven

How to use Hanzo KMS to inject environment variables into Java Spring Boot

Prerequisites:

Initialize Hanzo KMS

In order for Hanzo KMS to know which secrets to fetch, you'll need to first initialize Hanzo KMS at the root of your project.

# navigate to the root of your of your project 
cd /path/to/project

# then initialize Hanzo KMS
kms init

Start your application with Maven wrapper

To pass in Hanzo KMS secrets into your application, we will utilize the KMS CLI to inject the secrets into the Maven wrapper executable, which is used to launch your application. The Maven wrapper executable should already be present in the root directory of your project.

kms run -- ./mvnw spring-boot:run --quiet

Accessing injected secrets

  ...
  import org.springframework.core.env.Environment;

  @SpringBootApplication
  public class DemoApplication {
    @Autowired
    private Environment env;

    @Bean
    public void someMethod() {
        System.out.println(env.getProperty("SOME_SECRET_NAME"));
      };
  }

Debugging with secrets

During the process of debugging your code, it may be necessary to have certain environment variables available. To inject these variables for the purpose of debugging, please follow the instructions provided below. Note that these instructions are currently only available for IntelliJ.

Step 1: On the main tool bar, choose Edit Configuration

Step 2: Click the plus icon

Step 3: Select Shell Script

Step 4: Choose Script Text and then paste in the command below.

kms run -- ./mvnw spring-boot:run -Dspring-boot.run.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:5005"

Step 5: When you need to run a block of code in debug mode, select the Hanzo KMS script

How is this guide?

Last updated on

On this page