title: Spring's Autowired and InitializingBean
body: <p>I currently employ the following "pattern" on all my Spring component/configuration/service classes:</p>
  
  <pre><code>@Component
  final class SomeComponent implements InitializingBean {
    private SomeBean someBean;
  
    @Autowired
    public SomeComponent(SomeBean someBean) {
      this.someBean = someBean;
    }
  
    @Override
    public void afterPropertiesSet() throws Exception {
      Assert.state(someBean != null, "SomeBean should not be null.");
    }
  
    public void someMethod() {
      someBean.doSomething();
    }
  }
  </code></pre>
  
  <p>Should I really be implementing things like this or if I am just adding up to initialization time by making pointless assertions? Does Spring make any guarantees about the nullity of injected beans?</p>