二 【SSM】学习笔记——SpringMVC入门( 二 )

@ResponseBody类型:方法注解位置:SpringMVC控制器方法定义上方作用:设置当前控制器方法响应内容为当前返回值,无需解析
@RequestMapping("/save")@ResponseBodypublic String save(){System.out.println("user save ...");return "{'info':'springmvc'}";}SpringMVC入门案例工作流程分析

二 【SSM】学习笔记——SpringMVC入门

文章插图
SpringMVC入门程序开发总结(1+N)
  • 一次性工作
    • 创建工程,设置服务器,加载工程
    • 导入坐标
    • 创建web容器启动类,加载SpringMVC配置,并设置SpringMVC请求拦截路径
    • SpringMVC核心配置类(设置配置类,扫描controller包,加载Controller控制器bean)
  • 多次工作
    • 定义处理请求的控制类
    • 定义处理请求的控制方法,并配置映射路径(@RequestMapping)与返回json数据(@ResponseBody)
1.2、bean加载控制在Spring程序开发中,常有的几个包config、controler、service、dao 。
SpringMVC相关bean(表现层bean)Spring控制的bean
  • 业务bean(Service)
  • 功能bean(DataSource等)
SpringMVC加载的bean对应的包均在controler包内,扫描上层包时一定会加载controler包中的bean 。因为功能不同,如何避免Spring错误的加载到SpringMVC的bean?
方式一:Spring加载的bean设定扫描范围为上层包,排除掉controller包内的bean
@ComponentScan类型:类注解
@Configuration@ComponentScan(value = "https://www.huyubaike.com/biancheng/com.itheim",excludeFilters = @ComponentScan.Filter()type = FilterType.ANNOTATION,classes = Controller.class))public class SpringConfig{}属性:excludeFilters:排除扫描路径中加载的bean,需要指定类别(type)与具体项(classes)includeFilters:加载指定的bean,需要指定类别(type)与具体项(classes)
方式二:SPring加载的bean设定扫描范围为精准范围,例如service包、dao包等方式三:不区分Spring与SpringMVC的环境,加载到同一个环境中
bean加载格式
public class ServletContainersInitConfig extends AbstractDsipatcherServletInitializer {protected WebApplicationContext createServletApplicationContext() {AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationCOntext();ctx.register(SpringMvcConfig.class);return ctx;}protected WebApplicationContext createRootApplicationContext() {AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationCOntext();ctx.register(SpringConfig.class);return ctx;}protected String[] getServletMappings() {return new String[]{"/"};}}而Spring其实还为我们准备更加简便的配置方式
public class ServletContainersInitConfig extends AbstractAnnotationConfigOispatcherServletInitializer {protected Class<?>[] getRootConfigCLasses() {return new Class[]{SpringConfig.class};}protected Class<?>[] getServletConfigClasses () {return new Class[]{SpringMvcConfig.class};}protected String[] getServletMappings() {return new String[]{"/"};}}1.3、PostMan简介为了后面学习方便,将学习一款模拟前端发送请求的插件
二 【SSM】学习笔记——SpringMVC入门

文章插图
Postman是一款功能强大的网页测试与发送网页HTTP请求的Chrome插件,常用于进行接口测试 。特征:简单、实用、美观、大方官网:https://www.postman.com/downloads/
Postman基本使用
注册登录
二 【SSM】学习笔记——SpringMVC入门

文章插图
创建工作空间/进入工作空间
二 【SSM】学习笔记——SpringMVC入门

文章插图

二 【SSM】学习笔记——SpringMVC入门

文章插图

经验总结扩展阅读