There are 3 ways to execute code to create a bean in Spring:
- with the annotation @PostConstruct
- implementing the interface InitializingBean
- configuring the property init-method
The reason why you run code when you create a bean is often to check the dependencies, and assign a default value, or automated actions such as starting a scheduled task.
The constructor of the bean may not be suitable for this purpose because the bean is not fully initialized until the constructor has not completed.