Posts

Spring Core | BeanFactoryPostProcessor | Example

Image
In Spring, the  BeanFactoryPostProcessor is a  functional interface that contains a abstract method postProcessBeanFactory .   It allows us to modify the Spring context’s bean definitions before any beans get created.  BeanFactoryPostProcessor can create new bean definitions or modify existing ones. Since  BeanFactoryPostProcessor  should be called before other bean types are formed, it must be registered as a static method level. BeanFactoryPostProcessor example We are creating a simple maven project. You could clone the code from our GitHub repo. Final Project Directory Complete pom.xml <? xml version ="1.0" encoding ="UTF-8" ?> < project xmlns ="http://maven.apache.org/POM/4.0.0" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi :schemaLocation ="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > < modelVersion >4.0.0</ modelVersion > < gr

Spring RestClient Example

Image
In this section, we'll learn how to use RestClient to perform HTTP requests in a Spring Boot application. Spring Framework 6.1 introduced the RestClient API. As we all know, Spring Framework 6.1 is part of Spring Boot version 3.2. About RestClient RestClient is a synchronous client to perform HTTP requests. It is a higher-order API since it performs HTTP requests by using an HTTP client library like the JDK HttpClient, Apache HttpComponents, and others.  We can use the Spring RestClient interface  to perform HTTP requests  using a fluent API.  Fluent APIs are designed to make the code more readable and therefore easier to use. Wiring objects together using method chaining helps accomplish these readability and usability goals. Creating a RestClient  In this example we are creating RestClient using static method create(String url).  @Configuration public class RestClientConfig { @Value ( "${user.base.url}" ) String baseUrl ; @Bean RestClient restClient () {