I think `doInit()` implementation should always stay as `protected void`. At least for our classes and don't allow end-users to invoke it - just only `afterPropertiesSet()`, as you do it in tests now.