springBoot基本知识总结和使用实例

  1. 测试用例的使用:
    1. 在test目录下编写:
    2. 添加注解@RunWith(SpringRunner.class);@SpringBootTest
    3. 测试controller方法,需要测试请求地址。则需要新增注解:@AutoConfigrueMockMvc
    4. 在测试方法加注解@Test
  2. 使用命令行编译运行java程序:
    1. 打包:先进入到项目的目录,删除target文件,启动cmd命令窗口,执行打包命令:mvn clean package或者忽略测试用例: mvn clean package -Dmaven.test.skip=true;
    2. 运行项目:Java -jar target/[项目jar报名]
    3. 会执行测试用例,忽略测试用的启动
  3. mybatis的使用:
    1. 导入架包依赖(找到对应的版本,和springBoot版本对应)
    2. 导入链接数据库驱动(不需要版本号)
    3. 配置数据源,连接数据库;
    4. 通过注解使用mybatis:
      1. 直接在dao层定义接口,定义对应的方法即可使用mybatis:通过在方法添加注解@Select("sql")注解来实先mybatis的使用;
      2.  
      3. public interface CategoryMapper {
      4.     @Select( "select * from mall_category where id = #{id}")
      5.    Category findById( @Param( "id") Integer id);
      6. }
    5. mybatis使用xml文件配置:
      1. 通过在接口中添加注解@Mapper来扫面接口:
      2. 接口上的@Mapper注解可以写在启动类中使用扫描来替代: 在启动类上天添加注解@MapperScan(basepackages = " com.hans.pay.mall[mybatis接口包路径]")
      3. xml文件的样式可以在官网找到对应例子:在mybatis.xml文件中写sql语句:resultType是返回结果类型;
      4. < mapper namespace = "com.hans.pay.mall.dao.CategoryMapper" >   //接口的包路径
      5.       
      6.         < sql id = "Base_Column_list" >
      7.              id, parent_id,name,status,sort_order,create_time,update_time
      8.         </ sql >
      9.            //接口中对应的方法名
      10.         < select id = "queryById" resultType = "com.hans.pay.mall.pojo.Category" >
      11.            select < include refid = "Base_Column_list" />
      12.               from mall_category
      13.            where id = #{id}
      14.         </ select >
      15. </ mapper >
  4. Mybatis三剑客:
    1. mybatis-generator
    2. Mybatis-plugin
    3. Mybatis-PageHelper
  5. @RequestBody和@ResponseBody:
    1. requestBody是指定请求参数的格式,默认json。作用在方法上,参数前
    2. responseBody是指定返回的参数格式。作用在方法上,需要返回的方法上,若类上面使用@RestController注解,则方法不需要指定@ResponseBody。若类注解使用的是@Controller则需要指定通过@responsebody指定方法的返回值类型。
  6. 配置文件中定义参数,并在java中使用
    1. 在yml文件中定义参数,严格遵守定义的格式:例如:
    2. 在java中定义个实体类,然后使用注解@@ConfigurationProperties(prefix = "limit")和@Component;这样既可以使用配置文件中的配置参数,并转化成对应的实体类了;
  7. Lombok插件的使用:该插件主要是自动加载实体类的get()、set()方法;
    1. 添加注解@Data即可自动加载set、get方法;
    2. 插件的安装需要下载,并安装,网上很多教程;
  8. 控制台打印日志:
    1. 配置文件中配置控制台sql日志的输出:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  9. 使用Spring中的MD5加密:
    1. spring中自带MD5的加密方法,DigestUtils
    2. 例如:user.setPassword(DigestUtils.md5DigestAsHex(user.getPassword().getBytes(StandardCharsets.UTF_8)));
    3. 解密方法:DigestUtils.md5DigestAsHex(passwoed.getBytes(StandardCharsets.UTF-8))
  10. 返回值不返回null值得配置注解: @JsonInclude(value = JsonInclude.Include. NON_NULL)
  11. 校验表单数据不为空:
    1. @NotBlank 用户非空、@NotNull 用户String空格、@NotEmpty 用户集合
  12. 异常处理返回值:
    1. @ControllerAdvice、@ExceptionHandler(RuntimeException.class)注解的使用
  13. 设置登录session
    1. 通过HttpServletRequest对象获取HttpSession对象;HttpSession session = httpServletRequest.getSession();
  14. session和Cookie:
    1. 分布式Cookie:redis+Cookie;
    2. Cookie跨域,是域名不同时Cookie也不同;
    3. session和Cookie是一对,Cookie里存了了session的ID,只要Cookie一样,session也是一样的。
    4. Cookie存在于客户端,session是服务端。不同的域名Cookie也不同。
  15. 设置session过时时间:
    1. server.servlet.session.timeout: 360
  16. 拦截器的使用:
    1. @Configuration注解的使用:
    2. 拦截器统一拦截登录状态信息: 
    3. 实现拦截器的方式:实现接口:HandlerInterceptor,重写接口方法 preHandle(HttpServletRequest request , HttpServletResponse   response);
    4. 使用拦截器:写一个拦截器配置类,实现接口WebMvcConfigurer。重写方法 public void addInterceptors(interceptorRegistry registry){ registry.addInterceptor(new UserLoginInterceptor()).addPathPatterns("/**").excludePathPatterns("/user/login","/user/register"); 一个是需要拦截的url,一个是不拦截的URL;
  17. SpringBoot中mybatis的使用:
    1. 接口 中传入的参数不再是int,string类型,则需要传参@Param("categoryIdSet") Set<Integer> categor;
    2. .xml文件则使用foreach语句循环遍历参数集合:
  18. PageHelper的使用:

    1. springBoot中使用PageHelper,引入架包依赖,使用:PageHelper.startPage(pageNum, pageSize);

    2. 使用PageInfo对象来封装查询结果:PageInfo pageInfo = new PageInfo<T>(List);    pageInfo.setList(list);

  19. SpringBoot 中使用redis缓存:

    1. 加入依赖:

    2. 配置yml文件信息:

    3. 写入到redis中:StringRedisTemplate redisTemplate  = new SpringRedisTemplate();       redisTemplate.opsForValue().set(key,value);

    4. key是String类型,value也是String类型,可以将value转成json格式,存进去,key值可以是我们自定义的值;

    1. 引入依赖包

    2. 使用它的方法

  20. RabbitMQ的使用:

    1. 启动mq服务的命令(win):rabbitmq-plugins enable rabbitmq_management

    2. 然后访问mq管理界面:http://localhost:15672   guest/guest

    3. MQ的使用:引入依赖,

    4. 创建发送消息:使用对象AmqpTemplate.convertAndSend(key,value)方法;

    5. 接受消息,创建一个监听类,通过注解获取消息队列,被获取的消息将会被消耗。

  21. Spring-Data-Jpa: 

    1. 引入依赖即可使用jpa框架;

    2. jpa的使用,dao层直接写一个接口继承jap接口:

    3. 这样即可使用jpa的方法;

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值