SpringMVC的三个层面整合

什么是SpringMVC

Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web 框架,即使用了MVC架构模式的思想,将web 层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。

SpringMVC的执行流程

如图所示上面是SpringMVC的执行流程

执行过程:

第一步:发起请求到前端控制器(DispatcherServlet)

第二步:前端控制器请求HandlerMapping查找 Handler

可以根据xml配置、注解进行查找

第三步:处理器映射器HandlerMapping向前端控制器返回Handler

第四步:前端控制器调用处理器适配器去执行Handler

第五步:处理器适配器去执行Handler

第六步:Handler执行完成给适配器返回ModelAndView

第七步:处理器适配器向前端控制器返回ModelAndView

ModelAndView是springmvc框架的一个底层对象,包括 Model和view

第八步:前端控制器请求视图解析器去进行视图解析

根据逻辑视图名解析成真正的视图(jsp)

第九步:视图解析器向前端控制器返回View

第十步:前端控制器进行视图渲染

视图渲染将模型数据(在ModelAndView对象中)填充到request域

第十一步:前端控制器向用户响应结果

上述是SpringMVC的执行流程 

SSM整合

整合Mybatis

编写Mapper接口

User.java

上面存放各种数据类型比如员工号之类

随后编写一个Dao层代码 定义一些增删改方法

再对应的UserMapper.xml文件进行配置里面写一些sql语句

整合Service

编写UserService接口以及实现类

UserService.java

步骤:

第一步:整合dao层

mybatis和spring整合,通过spring管理mapper接口。

使用mapper的扫描器自动扫描mapper接口在spring中进行注册。


第二步:整合service层

通过spring管理 service接口。

使用配置方式将service接口配置在spring配置文件中。

实现事务控制。


第三步:整合springmvc 

由于springmvc是spring的模块,不需要整合

 在对每一个层进行连接之后SpringMVC的作用就可以发挥出来了

public interface UserService {
    public void addUser(User user);

    public void deleteUser(Integer uid);

    public User queryById(Integer uid);
    
    public List<User> queryAll();
}

UserServiceImpl.java

@Service("userService")
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;

    @Override
    public void addUser(User user) {
        userMapper.insert(user);
    }

    @Override
    public void deleteUser(Integer uid) {
        if(uid == null){
           throw new RuntimeException("id不能为空!");
        }
        userMapper.delete(uid);
    }

    @Override
    public User queryById(Integer uid) {
        if(uid == null){
            throw new RuntimeException("id不能为空!");
        }
        return userMapper.selectById(uid);
    }
    @Override
    public List<User> queryAll(){
        return userMapper.selectAll();
    }
}

整合SpringMVC

SpringMVC是Spring框架的一个子模块,所以我们不需要进行任何整合,只需要把SpringMVC引入到项目即可

Spring与Web的整合

编写UserController.java

编写UserController.java

  <!-- 加载Spring的配置文件 -->
  <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:applicationContext-*.xml</param-value>
  </context-param>
  <!-- 配置Spring的监听器 -->
  <listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  
  <!-- 配置post乱码处理 -->
  <filter>
      <filter-name>CharacterEncodingFilter</filter-name>
      <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
      <init-param>
          <param-name>encoding</param-name>
          <param-value>UTF-8</param-value>
      </init-param>
  </filter>
  
  <filter-mapping>
      <filter-name>CharacterEncodingFilter</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>

  <!-- 配置SpringMVC的前端控制器 -->
  <servlet>
      <servlet-name>springmvc</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath:springmvc.xml</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>
  </servlet>
  
  <servlet-mapping>
      <servlet-name>springmvc</servlet-name>
      <url-pattern>/</url-pattern>
  </servlet-mapping>
  

结束

整合完毕后就可以正常的使用SpringMVC啦

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Spring SpringMVC 简单整合(初学者参考) demo项目对应地址说明 :https://blog.csdn.net/tianyu00/article/details/89186404 SpringMVC流程 1、 用户发送请求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 4、 DispatcherServlet调用HandlerAdapter处理器适配器。 5、 HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。 6、 Controller执行完成返回ModelAndView。 7、 HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。 8、 DispatcherServlet将ModelAndView传给ViewReslover视图解析器。 9、 ViewReslover解析后返回具体View。 10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。 11、 DispatcherServlet响应用户。 组件说明: 以下组件通常使用框架提供实现: DispatcherServlet:作为前端控制器,整个流程控制的中心,控制其它组件执行,统一调度,降低组件之间的耦合性,提高每个组件的扩展性。 HandlerMapping:通过扩展处理器映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。 HandlAdapter:通过扩展处理器适配器,支持更多类型的处理器。 ViewResolver:通过扩展视图解析器,支持更多类型的视图解析,例如:jsp、freemarker、pdf、excel等。
SpringMVC、Spring和MyBatis是一种常见的JavaWeb开发框架组合,通过整合三个开源框架,可以方便地进行Web应用的开发。下面是一个简要的整合教程: 1. 创建一个Maven项目,并在pom.xml中添加相应的依赖: - SpringMVC依赖:spring-webmvc、spring-context、spring-beans等。 - Spring依赖:spring-core、spring-context、spring-aop等。 - MyBatis依赖:mybatis、mybatis-spring、mysql-connector-java等。 2. 创建一个SpringMVC配置文件,如springmvc-servlet.xml,配置SpringMVC的相关信息,并将其配置在web.xml中: ```xml <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/springmvc-servlet.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> ``` 3. 创建一个Spring配置文件,如applicationContext.xml,配置Spring的相关信息: ```xml <context:component-scan base-package="com.example.package" /> <mvc:annotation-driven /> <!-- 配置数据源、事务管理器等 --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <!-- 数据源相关配置 --> </bean> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> ``` 4. 创建一个MyBatis配置文件,如mybatis-config.xml,配置MyBatis的相关信息: ```xml <configuration> <typeAliasesPackage>com.example.package</typeAliasesPackage> <!-- 配置数据源、事务管理器等 --> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <!-- 数据源相关配置 --> </dataSource> </environment> </environments> <!-- 配置映射文件 --> <mappers> <mapper resource="com/example/package/mapper/ExampleMapper.xml"/> </mappers> </configuration> ``` 5. 创建DAO接口和Mapper映射文件,定义数据访问操作。 6. 创建Service类和Controller类,实现业务逻辑和请求处理。 7. 配置数据库连接信息、事务管理、数据访问等相关配置。 通过以上步骤,我们就完成了SpringMVC、Spring和MyBatis的整合。在此基础上,我们可以根据实际需求,进一步开发完善的Web应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值