springboot简介:

Spring Boot 是 Spring 家族中的一个全新的框架,它能简化我们之前采用 SpringMVC + Spring +MyBatis 框架进行开发的过程。

springboot特性:

  • 能够快速创建基于 Spring 的应用程序
  • 能够直接使用 java main 方法启动内嵌的 Tomcat 服务器运行 Spring Boot 程序,不需
    要部署 war 包文件
  • 提供约定的 starter POM 来简化 Maven 配置,让 Maven 的配置变得简单
  • 自动化配置,根据项目的 Maven 依赖配置, Spring boot 自动配Spring、 Spring mvc等
  • 提供了程序的健康检查等功能
  • 基本可以完全不使用 XML 配置文件,采用注解配置

springboot四大核心:

  1. 自动配置
  2. 起步依赖
  3. Actuator
  4. 命令行界面

springboot集成jsp:

  1. 添加springboot内嵌的tomcat对jsp的解析包依赖
  2. 在build标签中配置springboot要求jsp文件必须编译到指定的目录下
  3. 在springboot主配置文件中配置视图解析器
  4. 编写controller
  5. 在src/mai下创建一个webapp目录,然后再该目录下新建jsp页面

springboot工程下使用mybatis的逆向工程:

  1. 拷贝GeneratorMapper.xml逆向工程的配置文件到项目的根目录下
  2. 根据项目和表的情况,修改配置文件
  3. 在添加mybatis逆向工程的依赖
  4. 最后双击项目中maven下Plugins中mybatis-generate命令生成相关mapper和实体类对象
  • 注意事项:如果数据库中表中的字段名称为user-name,生成的实体类对象属性名就按驼峰命名法生成userName,如果是userName或者username,生成的实体类对象属性名就是username,不识别大小写
  • 注解:
    @Mapper:在每一个mapper类上添加
    @MapperScan:在springboot启动类上加上,扫描指定包下的所有mapper文件
  • mapper映射文件存放位置的方法:
  1. 将mapper映射文件放到与mapper接口同一目录,并在pom文件中指定资源文件夹进行编译
  2. 将mapper映射文件放到resource/mapper目录下,并在springboot核心配置中指定mapper映射文件的存放位置

springboot的事务使用:

  1. 在springoot启动类上添加@EnableTransactionsManagement 开启事务(springboot2.0以后可加可不加)
  2. 在springbootserviceImpl实现类的方法上(有增删改操作的方法)加上@Transactional注解

springboot中的springmvc:

  1. @RestConroller:spring4新增的注解,是Controller的增强版,如果一个 Controller 类添加了@RestController,那么该 Controller 类下的所有方法都相当于添加了@ResponseBody 注解
  2. @RequestMapping:支持get请求和post请求
  3. @GetMapping:只支持get请求,相当于@RequestMapping(request.method=get),该注解主要用于查询操作,所有从浏览器地址栏输入的请求都是get请求
  4. @PostMapping:只支持post请求,主要用于新增数据
  5. @DeleteMapping:只支持delete请求,通常用于删除数据操作
  6. @PutMapping:只支持put请求,主要用于改数据操作
  • 注意:工作中用到的主要还是get和post请求,查询用get,其他所有请求都可以用post

springboot中的RESTful:

  • 简介:英文: Representational State Transfer,简称 REST,一种互联网软件架构设计的风格,但它并不是标准,它只是提出了一组客户端和服务器交互时的架构理念和设计原则,基于这种理念和原则设计的接口可以更简洁,更有层次任何的技术都可以实现这种理念,如果一个架构符合 REST 原则,就称它为 RESTFul 架构
    比如我们要访问一个 http 接口: http://localhost:8080/boot/order?id=1021&status=1
    采用 RESTFul 风格则 http 地址为: http://localhost:8080/boot/order/1021/1
  • 使用原则:
    1. 增 post 请求、删 delete 请求、改 put 请求、查 get 请求
    2. 请求路径不要出现动词,都用名词名称
     - 例如:查询订单接口
      /boot/order/1021/1(推荐)
      /boot/queryOrder/1021/1(不推荐)
    3. 分页、排序等操作,不需要使用斜杠传参数
     - 例如:订单列表接口
      /boot/orders?page=1&sort=desc
      一般传的参数不是数据库表的字段,可以不采用斜杠
  • 请求路径冲突的解决办法:
  1. 在RESTful风格中方法的请求方式会按增删改查的请求方式来区分
    @PostMapping(value = “/student/{id}”)
    @PutMapping(value = “/student/{id}”)
  2. 修改请求路径
    @DeleteMapping(value = “/student/detail/{id}/{status}”)
    @DeleteMapping(value = “/student/{id}/detail/{city}”)
  • @PathVariable:获取请求路径中的参数,实现 RESTFul 最主要的一个注解
    public String updateStudent(@PathVariable(“id”) Integer id){}

springboot集成redis:

  • 使用步骤:
     1.添加依赖
     2.在pringboot主配置文件中配置redis
     3.创建RedisTemplate<Object,Object> redisTemplate对象调用其中的增删改查方法,泛型默认都用Object

springboot集成dubbo:

  1. 创建接口普通maven工程,提供者和消费者的springboot框架的web工程
  2. 在消费者和提供者工程中添加dubbo和zookeeper,接口工程的依赖
  3. 编辑提供者和消费者的配置信息
  4. 编辑接口工程中的接口类
  5. 编辑提供者工程中的接口实现类,在实现类上方添加@Compoent注解将实现类注入容器中,再添加@Service(interfaceClass = StudentService.class,version = “1.0.0”,timeout = 15000)(此注解为alibaba下的)暴露接口,最后在提供者工程的springboot启动入口添加@EnableDubboConfiguration注解,开启dubbo配置
  6. 编辑消费者工程中的web层,在controller类中的service对象上添加@Reference(interfaceClass = StudentService.class,version = “1.0.0”,check = false)注解(此注解为alibaba下的),引入接口,最后在消费者工程的springboot启动入口添加@EnableDubboConfiguration注解,开启dubbo配置

springboot关闭log和设置log:

  1. 关闭log只需要再springboot启动入口类设置:
     SpringApplication springApplication = new
     SpringApplication(Application.class);
     //关闭启动 logo 的输出
     springApplication.setBannerMode(Banner.Mode.OFF);
     springApplication.run(args);
  2. 设置新的log只需要利用登录在线生成banner网站,并在resource目录下新建banner.txt文件,将在线生成的banner复制粘贴到新建文本中

springboot使用拦截器:

  1. 自定义拦截器类并实现HandlerInterceptor接口,并重写接口中的方法实现拦截的业务逻辑
  2. 创建一个config包,在包下新建一个拦截器类并实现WebMvcConfigurer接口,覆盖接口中的 addInterceptors 方法,在方法中注册接口并定义要拦截和放行的路径,并为该配置类添加@Configuration 注解,标注此类为一个配置类,让 Spring Boot 扫描到,这里的操作就相当于 SpringMVC 的注册拦截器 ,@Configuration 就相当于一个 applicationContext-mvc.xml编写config配置类文件

springboot使用filter过滤器:

  1. 使用注解的方式:首先创建一个类实现Filter接口并重写doFilter方法,并在类上添加@WebFilter注解和urlpattern属性,最后再springboot入口启动类上添加@ServletComponentScan(basePackages = “com.bjpowernode.springboot.filter”)扫描@WebFilter注解
  2. 使用配置类的方式:首先创建一个类实现Filter接口并重写doFilter方法,再创建一个配置类重写FilterRegistrationBean方法注册过滤器的bean对象并添加过滤路径
    路径不能使用/user/**
    只能用/user/*

springboot设置字符编码:

  1. 使用Filter的注解或配置类的方式
  2. 使用spirngboot配置文件配置

sringboot打war部署:

  1. 添加内嵌tomcat的jsp解析依赖,并配置jsp编译目录为META-INF/resources
  2. 在resource目录下创建webapp并执行为应用资源文件夹
  3. 在springboot著配置文件中设置jsp的前后缀
  4. 测试项目,测试程序没问题在开始打war包
  5. 在springboot入口启动类需继承SpringBootServletInitializer 类并覆
    盖 configure 方法 ,在方法中构建新资源return builder.sources(Application.class)
  6. 在pom文件中设置打包方式和打包名称,并添加打包插件
  7. 利用maven的packing命令开始打包,在编译的类路径找到打包文件放到tomcat的webapp根目录下,再启动tomcat,tomcat的根路径和端口号为本地的配置