Springmvc的执行流程和mybatis执行流程

本文详细介绍了SpringMVC、MyBatis及Spring(SSM)框架的工作流程与配置方法,包括SpringMVC的请求处理过程、MyBatis的接口代理模式配置及SSM框架整合时各组件之间的交互细节。
摘要由CSDN通过智能技术生成

Springmvc的执行流程

1.页面发送请求到前端控制器在web.xml中配置的servlet(DispatcherServlet);

2.由springmvc.xml中配置的映射器去寻找handler(按照注解的路径寻找)并将结果返回给前端控制器

3.前端控制器在调用适配器执行handeler , 并将处理的结果和逻辑路径返回给前端控制器

4.前端控制器将数据发送到视图解析器进行渲染 , 视图解析器将渲染后的视图发送回前端控制器 , 前台控制器将结果展示到页面


配置:

其中springmvc中<mvc:annotation-driven/>的标签 ;1映射器,寻找handler(处理着); 2适配器,执行handler

视图解析器:InternalResourceViewResolver内部资源视图解析器,将逻辑的访问路径转为服务器的实际访问路径


mybatis

            <!-- 配置mybatis接口开发模式 -->使用JDK基于接口的动态代理的模式
            <bean  class="org.mybatis.spring.mapper.MapperScannerConfigurer">
                <!-- 配置扫描的包 -->
                <property name="basePackage" value="cn.itcast.dao"></property>
                <!-- 将sqlSessionFactory加入 -->
                <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
            </bean>

然后在service的实现类中使用@Service , 在属性上@Resource将mapper接口注入


SSM的全流程


ItemsController中

    @RequestMapping("findAllItems")
    //1.请求通过前端控制器dispatcherServlet调用映射器寻找handler,映射器通过这个路径寻找
    public String findAllItems(Model model){
        //2.将servcie注入调用service中的findAllItems方法
        List<Items> itemsList = ItemsService.findAllItems();
        //把集合放入到model中进行回显
        model.addAttribute(itemsList);
        return "itemsList";
    }


ItemsServiceImpl中

public List<Items> findAllItems(){
        //3.service中注入Mapper的接口调用其中查询所有订单的方法
        List<Items> findAllItems = itemsMapper.findAllItems();
        return findAllItems;
    }


ItemsMapper中
    /*
     * 4.采用mybatis中接口开发 的方式
     * 需要在applicationContext中配置映射扫描器配置类(MapperScannerConfigurer)
     * 并需要遵守约定
     * 1.接口和其的配置文件必须在同一个包下
     * 2.他们的名字相同
     * 3.接口的配置文件的nameSpace需要和接口的全限定名相同;便于生成接口的代理

     */
    List<Items> findAllItems();


ItemsMapper.xml中

  <!-- 5.在接口的映射文件中执行映射查询数据库的方法 -->
  <select id="findAllItems" resultMap="BaseResultMap">
          select * from items
  </select>


ItemsController中

    @RequestMapping("findAllItems")
    //1.请求通过前端控制器dispatcherServlet调用映射器寻找handler,映射器通过这个路径寻找
    public String findAllItems(Model model){
        //2.将servcie注入调用service中的findAllItems方法
        List<Items> itemsList = ItemsService.findAllItems();
        //把集合放入到model中进行回显
        model.addAttribute(itemsList);
        //6.返回逻辑视图到内部资源视图解析器中拼接真正的访问jsp路径
        return "itemsList";
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值