I am trying to understand the bean creation mechanism in spring.I have a doubt regarding the same.I want to know that when do we get the bean object (assuming the bean configuration is done in the xml file xxx-servlet.xml)?Does it happens as soon as we load the xml file from the path?or does it happens when we call a method from BeanFactory interface(or ApplicationContext interface)?
Assuming that the beans are eagerly loaded (the default) it will be created when the application context is initialized. The container will call interfaces on BeanFactory (and others) to create and initialize those beans as part of the initialization process.
You probably want to pick up a book on Spring. It will go in much more detail. I reccommend Spring In Action. It explains how the application context is loaded and how beans are initialized and wired
To answer your question, if you have a standalone app that you want to use spring in, you have to load the application context from the main method yourself. So, in your main method you do something like this
This call starts the application context, loads the xml, parses the xml, creates the beans, initializes the beans before returning. Basically, the container and beans are loaded for you from the constructor
If you are writing a webapp using spring, generally, you add something like this in your web.xml
Basically, you declare a servlet of type org.springframework.web.servlet.DispatcherServlet to start on startup. This servlet will load the Application Context on startup. It will do exactly what your main method would do.
I yam what I yam and that's all that I yam - the great philosopher Popeye. Tiny ad:
a bit of art, as a gift, that will fit in a stocking