title: How is Spring BeanFactory able to instantiate a non-public class?
body: <p>Spring newbie here.</p>
  
  <p>I observed that Spring was able to instantiate a non-public class (i.e. a class with default visibility) that I had defined. Can anyone tell me how Spring achieves this? Why is this allowed ?</p>