Valid XHTML 1.0 Transitional集成演练路线图 (P19)

Page: [index.html] (v2017-03-01_21-00)

  1. 项目基础:……
  2. Servlet :……
  3. Spring Web MVC :
    1. 基本 Web 应用:……
    2. CRUD :
      1. Spring Web MVC + DataSource + 基本 JDBC :……
      2. Spring Web MVC + DataSource + Spring JDBC Template :……
      3. Spring Web MVC + DataSource + MyBatis :……
      4. Spring Web MVC + DataSource + Hibernate :
        1. 方式 - 基本集成:
          • 样例 - 用户管理:
            1. 环境准备:……
            2. 样例编写:
              1. 实体类:……
              2. DAO 层:……
              3. 业务层:……
              4. Spring 介入:
                1. 编写 ApplicationContext 分项配置文件 src/main/resources/tfw/integration_demo/_04_spring_web_mvc/sub_files/05_hibernate_crud.xml ,内容暂时留空:
                  <?xml version="1.0" encoding="UTF-8"?>
                  <beans ……>
                  </beans>
                  

                2. 修改 ApplicationContext 主配置文件 src/main/resources/tfw/integration_demo/_04_spring_web_mvc/applicationContext.xml ,添加上述分项:
                  <?xml version="1.0" encoding="UTF-8"?>
                  <beans ……>
                  	……
                  	<import resource="sub_files/04_mybatis_crud.xml"/>
                  	<import resource="sub_files/05_hibernate_crud.xml"/>
                  </beans>
                  

                3. 修改 ApplicationContext 分项配置文件 src/main/resources/tfw/integration_demo/_04_spring_web_mvc/sub_files/05_hibernate_crud.xml ,注册所需的各种对象及其注入关系:
                  <?xml version="1.0" encoding="UTF-8"?>
                  <beans ……>
                  	<bean id="crud.hibernate.basic.conf_base"
                  			class="org.hibernate.cfg.Configuration"/>
                  
                  	<bean id="crud.hibernate.basic.conf"
                  			factory-bean="crud.hibernate.basic.conf_base" factory-method="configure">
                  		<constructor-arg
                  				value="tfw/integration_demo/_04_spring_web_mvc/_02_crud/_04_hibernate_crud/hibernate-config.xml"/>
                  	</bean>
                  
                  	<bean id="crud.hibernate.basic.sf" factory-bean="crud.hibernate.basic.conf"
                  			factory-method="buildSessionFactory"/>
                  
                  	<bean id="crud.hibernate.basic.userDAO"
                  			class="tfw.integration_demo._04_spring_web_mvc._02_crud._04_hibernate_crud._01_basic_way.dao.UserDAO">
                  		<constructor-arg ref="crud.hibernate.basic.sf"/>
                  	</bean>
                  
                  	<bean id="crud.hibernate.basic.userMgrSvc"
                  			class="tfw.integration_demo._04_spring_web_mvc._02_crud._01_basic_jdbc_crud.service._01_UserMgrService">
                  		<property name="userDAO" ref="crud.hibernate.basic.userDAO"/>
                  	</bean>
                  </beans>
                  

              5. 表示层:
                1. 控制器逻辑同“Spring JDBC Template CRUD”样例,直接沿用既有的“控制器”类;
                  修改 ApplicationContext 分项配置文件 src/main/resources/tfw/integration_demo/_04_spring_web_mvc/sub_files/05_hibernate_crud.xml ,注册此“控制器”对象、指定 ID ,并向其注入业务层对象、页面标题和跳转目标:
                  <?xml version="1.0" encoding="UTF-8"?>
                  <beans ……>
                  	……
                  
                  	<bean id="crud.hibernate.basic.userMgrSvc"
                  			……>
                  		……
                  	</bean>
                  
                  	<bean id="crud.hibernate.basic.userMgrCtrl"
                  			class="tfw.integration_demo._04_spring_web_mvc._02_crud._01_basic_jdbc_crud.controller._01_UserMgrController">
                  		<property name="userMgrSvc" ref="crud.hibernate.basic.userMgrSvc"/>
                  		<property name="pageTitle"
                  				value="Integration&amp;nbsp;Demo / 04&amp;nbsp;Spring&amp;nbsp;Web&amp;nbsp;MVC / 02&amp;nbsp;Create,&amp;nbsp;Read,&amp;nbsp;Update&amp;nbsp;&amp;amp;&amp;nbsp;Discard / 04&amp;nbsp;Hibernate&amp;nbsp;CRUD / 01&amp;nbsp;Basic&amp;nbsp;Integration / 01&amp;nbsp;User&amp;nbsp;Management - "/>
                  		<property name="jumpTarget">
                  			<props>
                  				<prop key="result">/WEB-INF/pages/tfw/integration_demo/04_spring_web_mvc/02_crud/01_basic_jdbc_crud/01_user_mgr/result.jsp</prop>
                  				<prop key="detail">/WEB-INF/pages/tfw/integration_demo/04_spring_web_mvc/02_crud/01_basic_jdbc_crud/01_user_mgr/detail.jsp</prop>
                  				<prop key="login">/WEB-INF/pages/tfw/integration_demo/04_spring_web_mvc/02_crud/04_hibernate_crud/01_basic_way/01_user_mgr/login.html</prop>
                  				<prop key="list">/WEB-INF/pages/tfw/integration_demo/04_spring_web_mvc/02_crud/01_basic_jdbc_crud/01_user_mgr/list.jsp</prop>
                  			</props>
                  		</property>
                  	</bean>
                  </beans>
                  

                2. 修改 ApplicationContext 分项配置文件 src/main/resources/tfw/integration_demo/_04_spring_web_mvc/sub_files/05_hibernate_crud.xml ,注册“URI 映射”对象、指定 ID ,并将 URI /tfw/integration_demo/04_spring_web_mvc/02_crud/04_hibernate_crud/01_basic_way/01_user_mgr/action.spr 映射至此“控制器”对象
                  <?xml version="1.0" encoding="UTF-8"?>
                  <beans ……>
                  	……
                  
                  	<bean id="crud.hibernate.basic.userMgrCtrl"
                  			……>
                  		……
                  	</bean>
                  
                  	<bean id="crud.hibernate.urlMapping"
                  			class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
                  		<property name="mappings">
                  			<props>
                  				<prop key="/tfw/integration_demo/04_spring_web_mvc/02_crud/04_hibernate_crud/01_basic_way/01_user_mgr/action.spr">crud.hibernate.basic.userMgrCtrl</prop>
                  			</props>
                  		</property>
                  	</bean>
                  </beans>
                  

                3. 修改 或/及 新增相关的索引页,添加指向此控制器的 URI ,确认控制器配置正确。
                4. 编写本样例的专用页面 src/main/webapp/WEB-INF/pages/tfw/integration_demo/04_spring_web_mvc/02_crud/04_hibernate_crud/01_basic_way/01_user_mgr/login.html
                5. 测试本样例的“登录”和增删改查功能。
        2. ……