1.介绍:springboot微框架 = spring框架+springMVC框架
2.特点:
(1) 可以独立创建spring应用程序
(2) 内嵌tomcat服务器,无需部署 module,直接运行即可
(3) 简化 maven配置
(4) 自动配置spring
(5) 没有 xml配置
3.springboot的约定:
(1)入口类 (有main函数,位置和名字随意)
名字:XxxApplication,例如:BankApplication、TelbookApplication
位置:建议放在 所有子包的同一级或是 上一级
目的:扫描到 所有的 .java源码
注意:入口类,一个springboot项目中有且只能有一个
注意:在该类上有两个注解
@SpringBootApplication 入口类的标识
@MapperScan("com.dao")将mapper文件交给spring工厂管理
(2)springboot的主配置文件(名字和位置必须固定)
位置:必须在 src/main/resources 根目录中
名字:必须是 application.properties/yml
4.springboot中jsp的解决方案
(1)引入依赖, 引入jsp插件, 在springboot配置文件中配置jsp的前后缀,使用springboot插件启动
(2)引入依赖, 采用配置参数的形式, 在springboot配置文件中配置jsp的前后缀,通过入口类进行启动
5.springboot测试
(1)引入依赖
(2)使用注解:@SpringBootTest(classes = 入口类.class) @RunWith(SpringRunner.class)
6.springboot的热部署
jsp的热部署:server.servlet.jsp.init-parameters.development=true
全局热部署:
(1)引入依赖
(2)配置 idea支持 自动编译:
开启自动化编译:file->settings->Build,Ex...->Compliex->双击->勾选 Build Project Auto..
(3)ctrl+alt+shift+/(同时按键),弹框中选择第一项 Compliex.automake.allow.when.app.ruuning此选项被勾选
7.springboot中的日志文件
包级别:logging.level.com.dao=debug
根日志:logging.level.root=debug
日志级别:DEBUG < INFO < WARN < ERROR
日志级别 从 低到高,日志级别越高,打印输出的日志信息越少
8.springboot的拦截器
(1)定义拦截器:实现HandlerInterceptor接口
实现preHandle方法
(2)配置拦截器:实现WebMvcConfigurer接口
实现addInterceptors方法
registry.addInterceptor(new 定义的拦截器()) // 添加的拦截器
.addPathPatterns("/**") // 拦截所有的资源
.excludePathPatterns("/user/**"); // 排除 user下的所有资源不被拦截
注意:配置拦截器时必须实现@Component注解 为了将其加入到spring中进行管理
9.全局异常的处理
@Compoent // 交给 spring 工厂管理当前全局异常类
实现HandlerExceptionResolver接口
实现resolveException方法
(1)ModelAndView modelAndView = new ModelAndView();
(2)modelAndView.addObject("msg",e.getMessage());// 相当于request作用域,可以传递 异常信息
(3)modelAndView.setViewName("error");// 当有异常出现的时候,统一跳转到 error.jsp