SpringMVC 基本使用

SpringMVC:

最传统的Servlet进行封装

  • 配置
  • 方法的说明
  • 返回值 参数 请求方法

核心注解 (主要针对Controller层)

@RequetMapper

作用

将请求的地址映射到相应的方法

能修饰方法和类

属性说明
value/paht映射的url路径
method声明请求方法,枚举支持八大请求方式
params请求的参数中必须符合条件 (如指定存在id 或id>=1)
consumes只处理指定的类型(ContextType)类容
produces必须包含指定类型
headers

扩展注解

指定响应的方法,属于RequetMapper的子类

@GetMapper

@PostMapper

@PutMapper

@Delect Mapper


基本类型

直接声明

简单对象

直接声明

复杂类型

建议使用json格式上传

参数注解:

1、@RequestParam 注解
  • 属性 required 默认为true 表示必传参数
  • value=“别名” 当客户端的参数跟方法的参数不一致的时候可以使用
  • defaultValue=1 在未赋值的情况下 默认值
/**
 * RequestParam
 * 属性 required 默认为true 表示必传参数
 * value="别名" 当客户端的参数跟方法的参数不一致的时候可以使用
 * defaultValue=1 在未赋值的情况下 默认值
 * @return
 */
@PostMapping
@ResponseBody  
public String test2(@RequestParam(value = "username",required = true) String name,
                    @RequestParam(required = false,defaultValue = "1") int age,
                    @RequestParam(defaultValue = "12")int size){
    System.out.println(name);
    System.out.println(age);

    return "RequestParam 默认值 别名 ";
}
2、@RequestBody

主要是用于接收客户端传送的json数据自动解析

requried 是否是必要参数

导入第三方的json 以及相关配置信息

3、@PathVriable

rest风格的动态路径

value指定动态路径名称

requried 是否是必要的参数 默认true

其他

4、@RestController

返回json格式的数据 等价于 Contrller + RequestBody

配置信息

spring 配置

  • 开启spring 注解支持

      xmlns:context="http://www.springframework.org/schema/context"
    <context:component-scan base-package="com.ssm"/>

spring-mvc配置

  • 开启spring-mvc的注解支持
  • json转化器配置 fastjson jackson
<!-- 1 配置 开启springmvc注解 扫描 -->
    <context:component-scan base-package="com.ssm.controller"/>

<!--    不来拦截静态文件-->
    <mvc:default-servlet-handler/>

    <mvc:annotation-driven>
    <mvc:message-converters>
        <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
        </bean>
    </mvc:message-converters>
</mvc:annotation-driven>

spring-mybatis:

  • 注入sql sessionFactory
  • 配置连接池
  • 扫描所有mapper文件
  • 配置mapper.xml(可选)
  • 扫描mapper接口
<!-- 1.1 注入 sql SessionFactory-->

    <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!--        1.2   配置连接池 -->

        <property name="dataSource" ref="dataSource" />
<!--    扫描注册所有的mapper 文件  **表示扫描多级目录   -->
        <property name="mapperLocations" value="classpath:mapper/**/*.xml" />
<!--        1.3 配置mapper.xml 持久化对象别名 -->
        <property name="typeAliasesPackage" value="com.ssm.entity"/>
<!--  1.4 配置mybatis 核心配置文件 (可选)  -->
<!--        <property name="configLocation" value="classpath:mybatis-config.xml"/>-->

    </bean>

<!--    扫描所有的mapper 接口文件 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 扫描mapper 包名的接口 -->
        <property name="basePackage" value="com.ssm.mapper"/>
<!--        关联 sqlSessionFactoryBeanName -->
<!--  与注入 sql SessionFactory 的id 和value 必须一致  必须一致 必须一致   -->
        <property name="sqlSessionFactoryBeanName" value="sessionFactory"/>

    </bean>

web.xml 配置

  • 注册监听器
  • 配置初始化参数加载 spring
  • 配置Spring mvc DispatcherServlet
    • 初始化spring-mvc 配置文件
<!--  1  spring配置监听-->

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>


<!-- 2 加载Spring 配置文件   -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring-*.xml</param-value>
    </context-param>


<!--    <mvc:default-servlet-handler/>-->

    <!--    spring-mvc 注册配置-->
    <!--    配置DispatcherServlet-->
    <servlet>
        <servlet-name>dispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--       初始化mvc文件-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-mvc.xml</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值