Spring IOCはどのような対象を具体化しましたか?

3520 ワード

Spring IOCはどのような対象を具体化しましたか?
servlet容器を起動し、web.xmlをロードします.
springのプロファイル
appication Contect.xmlは大体以下の通りです.
   
    // beanService     Action         @Resource beanService
    <bean id="Login" class="sshdemo.func001.action.LoginAction"  scope="prototype">
        <property name="personService" ref="personService" />
    </bean>

    // Dao     beanService    
    <bean id="personService" class="sshdemo.func001.service.PersonServiceImpl">
        <property name="personDAO" ref="PersonDAO" />
    </bean>

    // HibernateTemplate   Dao    
    <bean id="PersonDAO" class="sshdemo.func001.dao.PersonDAOImpl">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

    // DB     SessionFactory        hibernate.cfg.xml  SessionFactory  
    <bean id="sessionFactory"         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
    </bean>  

    //  DB  ,         hibernate.cfg.xml     
    <bean id="dataSource"
        class="org.apache.commons.dbcp.BasicDataSource">
     </bean>
そして、tomcatを起動した後、まだプログラムを実行していない前に、自分で設定したlog 4 jのログが次のようになります.
-----------------日志分割线-------------------------------------------
Loaded 6 bean definitions from location pattern[
//WEB-INF/application Controtext.xml]
です
6 beans defined in org.springframe ebook.web.com ntxt.support.XmlWebApplicationContext@179dce4:display name[Root WebApple Comptext]startup date[Thu May 14 08:44:00 CST 2009]root of context hierarchy
です
Pr-innstantiating singletons in org.springframe ework.beans.factory.support.DefaultListableBeanFactory@6210fb:defining beans[
Login、personsService、PersonDAO、session Factory、dataSource、ChartAction;root of factory hierarchy
Creating sharred instance of singleton bean'person Service'
Creating instance of bean'person Service'
Eagerly caching bean'person Service'to allow for rererelaving potental cirular references
クリティングスsharred instance of singleton bean'PersonDAO'
Creating instance of bean'PersonDAO'
Eagerly caching bean'PersonDAO'to allow for rerelaving potential circuular references
Creating sharred instance of singleton bean'session Factory'
Creating instance of bean'session Factory'
Eagerly caching bean'session Factory'to allow for rerelaving potental cirular references
Creating sharred instance of singleton bean'dataSource'
Creating instance of bean'dataSource'
Eagerly caching bean'dataSource'to allow for rerelaving potential circuular references
です
-----------------日志分割线-------------------------------------------
servlet容器(tomcat)を起動する時、
1.springはすでにaction、PersonServiceImpl、PersonDAOImpl、session Factory、dataSourceを初期化しました.
2.struts 2の具体的なaction例も具体化していますが、データを包装していません.ユーザーが*.actionに訪問する時、jspページの中のパラメータをactionの属性に包装します.ここはstruts 1.xと違っています.strutsは*.doです.web.xmlでフィルタリングして、要求されたactionがあるかどうか調べます.ある--->struts-config.xmlで>対応するbeanForm->を見つけて、要求パラメータをbeanFormの中に設定します.