In general, I would prefer that we do not need the afterPropertiesSet so this is easier to use with Java Config support. This means, if there are few members that are required and cannot have defaults, use constructor injection. In short, can you move the serviceProperties as a constructor injected field w/ a null check in the constructor.