Understanding Bean's life cycle, inheritance, scope etc in Spring Framework