Jasypt Spring Boot is a Spring Boot starter that adds encryption support for property sources in Spring applications.
The tool solves the problem of securing sensitive configuration values by integrating Jasypt encryption into Spring's property resolution system. It works by intercepting property sources across the entire Spring Environment and decrypting encrypted values transparently at runtime. Developers can mark sensitive properties with encryption, and the tool handles decryption automatically without requiring changes to application code that reads those properties.
Adoption depends on your application structure and needs. If you use the standard `@SpringBootApplication` or `@EnableAutoConfiguration` annotations, you can simply add the starter dependency and encryption is enabled across all property sources with no additional configuration. For applications that do not use these annotations, you can add the `@EnableEncryptableProperties` annotation to your configuration class to enable encryption globally, or use `@EncryptablePropertySource` annotations for fine-grained control over which property sources support encryption. This third approach mirrors Spring's standard `@PropertySource` annotation pattern and allows you to selectively encrypt only specific configuration files. A fourth method using custom environment classes is available for special cases. The tool supports encryption across system properties, environment variables, command-line arguments, properties files, YAML files, and custom property sources.
The project maintains active engagement with its codebase through regular updates and releases. Development includes ongoing refinement of integration patterns, as evidenced by the evolution from earlier environment implementations to the current `StandardEncryptableEnvironment` and `StandardEncryptableServletEnvironment` classes. The tool has expanded its capabilities over time, such as adding YAML file support to the `@EncryptablePropertySource` annotation. The project continues to track compatibility with current Java and Spring Boot versions, requiring Java 17 and Spring Boot 3.5 or later.