GitHub
Join us on Slack
Join us on Discord
Ask on Stack Overflow
Search…
⌃K
Links
Introduction to OpenRewrite
Running Recipes
Quickstart: Setting up your project and running recipes
Running Rewrite on a Gradle project without modifying the build
Running Rewrite on a Maven project without modifying the build
Running Rewrite without build tool plugins
Popular recipe guides
Authoring Recipes
Recipe development environment
Writing a Java refactoring recipe
Recipe testing
Recipe conventions and best practices
Modifying methods with JavaTemplate
Creating multiple visitors in one recipe
Writing recipes over multiple source file types
Using multiple versions of a library in a project
Changelog
7.38.0 Release (2023-03-15)
7.37.2 Release (2023-03-02)
7.36.0 Release (2023-02-16)
7.35.0 Release (2023-01-20)
7.34.2 Release (2022-12-16)
7.34.0 Release (2022-12-09)
7.33.0 Release (2022-11-16)
Reference
Latest versions of every OpenRewrite module
Maven plugin configuration
Gradle plugin configuration
Snapshot versions
JsonPath and JsonPathMatcher
Declarative YAML format
Method patterns
Dependency version selectors
Framework provided markers
Building OpenRewrite from source
Recipe catalog
CircleCI
Concourse
Github Actions
Java
Add ASLv2 license header
Add license header
Add or update annotation attribute
Change method access level
Change method name
Change method target to static
Change method target to variable
Change static field access to static method access
Change type
Delete method argument
Demonstrate rendering of Markup markers
Demonstrate rendering of recipe exceptions
Order imports
Randomize tree IDs
Remove annotation
Remove interface implementations
Remove static import
Remove unused imports
Rename package name
Reorder method arguments
Replace String literal with constant
Replace constant with literal value
Simplify a call chain
Transform calls to Objects.isNull(..) and Objects.nonNull(..)
Update source positions
Use static import
Uses @RewriteSkip annotation
Cleanup
Controlflow
Dependencies
Format
JHipster
Logging
Micronaut
Modernize
OpenRewrite best practices
Search
Security
Spring
Add a spring configuration property
Change the key of a spring application property
Delete a spring configuration property
Expand Spring YAML properties
Normalize Spring properties to kebab-case
Remove @RequestMapping annotations
Remove implicit web annotation names
Remove public from @Bean methods
Remove the @Autowired annotation on inferred constructor
Remove unnecessary '@Repository' annotation from Spring Data 'Repository' sub-interface
Separate application YAML by profile
Update the API manifest
Search
Security5
Spring Batch
Spring Boot 2.x
Add missing '@Configuration' annotation
Adds @DependsOnDatabaseInitialization to Spring Beans and Components depending on javax.sql.DataSour
Adjust configuration classes to use the WebServerFactoryCustomizer interface
Convert HttpSecurity chained calls into Lambda DSL
Convert ServerHttpSecurity chained calls into Lambda DSL
Merge Spring bootstrap.yml with application.yml
Migrate @OutputCaptureRule to @ExtendWith(OutputCaptureExtension.class)
Migrate RestTemplateBuilder
Migrate Spring Boot 2.x projects to JUnit 5 from JUnit 4.
Migrate Spring Boot properties to 2.0
Migrate Spring Boot properties to 2.1
Migrate Spring Boot properties to 2.2
Migrate Spring Boot properties to 2.3
Migrate Spring Boot properties to 2.4
Migrate Spring Boot properties to 2.5
Migrate Spring Boot properties to 2.6
Migrate Spring Boot properties to 2.7
Migrate deprecated ActuatorMediaType to ApiVersion#getProducedMimeType
Migrate deprecated Spring-Boot EmbeddedDatabaseConnection.HSQL
Migrate flyway and liquibase credentials
Migrate multi-condition @ConditionalOnBean annotations
Migrate to Spring Boot 2.0
Migrate to Spring Boot 2.1
Migrate to Spring Boot 2.2
Migrate to Spring Boot 2.3
Migrate to Spring Boot 2.4
Migrate to Spring Boot 2.6
Migrate to Spring Boot 2.7
Migrate to recommended constants in LogbackLoggingSystemProperties from deprecated values in Logging
Move SAML relying party identity provider property to asserting party
Remove @SpringExtension
Remove obsolete Spring JUnit runners
Remove unnecessary Spring @RunWith
Replace 'HttpSecurity.authorizeRequests(...) with 'HttpSecurity.authorizeHttpRequests(...) and 'Expr
Replace @ExtendWith and @ContextConfiguration with @SpringJunitConfig
Replace EnvironmentTestUtils with TestPropertyValues
Spring Boot 2.x best practices
Spring Security 5.4 introduces the ability to configure HttpSecurity by creating a SecurityFilterCha
Upgrade to Spring Boot 2.5
Use AutoConfiguration#imports
Use DiskSpaceHealthIndicator(File, DataSize)
Use EnableConfigurationProperties#VALIDATOR_BEAN_NAME
Use ErrorAttributes#getErrorAttributes(WebRequest, ErrorAttributeOptions)
Use ErrorProperties#IncludeStacktrace.ON_PARAM
Use MultipartConfigFactory with DataSize arguments
Use PingHealthIndicator
Use RestClientBuilderCustomizer
Use RestTemplateBuilder#basicAuthentication
Use RestTemplateBuilder#setConnectTimeout(Duration) and RestTemplateBuilder#setReadTimeout(Duration)
Use WebServerFactoryCustomizer
Use WebTestClientBuilderCustomizer
Use isEagerFilterInit()
Use javax.validation.constraints
Use org.springframework.boot.autoconfigure.http.HttpMessageConverters
Use org.springframework.boot.web.server.LocalServerPort
Use org.springframework.boot.web.servlet.error.ErrorController
Use org.springframework.boot.web.servlet.support.SpringBootServletInitializer
Use setEagerFilterInit(boolean)
Use spring-boot.run.agents configuration key in spring-boot-maven-plugin
Search
Applications using logging shutdown hooks
Find patterns that require updating for Spring Boot 2.5
Find projects affected by changes to the default error view message attribute
In Spring Boot 2.5 a DefaultConfigurationCustomizer can now be used in favour of defining one or mor
Integration scheduler pool size
Spring Boot 3.x
Spring Data
Spring Framework
Testing
Kubernetes
Quarkus
Maven
Terraform
Cloud suitability analyzer
Core
Config
Search
Gradle
Groovy
Hcl
JSON
Properties
XML
YAML
Concepts & Explanations
Lossless Semantic Trees (LST)
Java LST examples
YAML LST examples
TreeVisitingPrinter
Recipes
Visitors
Styles
Environment
Markers
JavaTemplate
Pointcut expressions
Powered By
GitBook
Search
Recipes
Applications using logging shutdown hooks
Find patterns that require updating for Spring Boot 2.5
Find projects affected by changes to the default error view message attribute
In Spring Boot 2.5 a
DefaultConfigurationCustomizer
can now be used in favour of defining one or more
*Provider
beans
Integration scheduler pool size
Previous
Use spring-boot.run.agents configuration key in spring-boot-maven-plugin
Next
Applications using logging shutdown hooks
Last modified
1mo ago