I read that Spring annotations like @Autowired, @Transactional & @PostConstruct are a form of / use BeanPostProcessors. So from what I understand about BeanPostProcessors, they are used to manage the lifecycle of a Spring Bean. Meaning you can specify any code which should be run before or after the intialization of a bean.
Now annotations like @Component or @Bean specify to Spring that it should create beans of this type. For example,
@Component
public Class Foo {
}
will tell spring to create a Bean of type "Foo" and then Spring will manage it's lifecycle. So does that make @Component and @Bean BeanPostProcessors?