0%

什么是Stream

Stream是JDK8中新增的API,对集合Collection的功能进行增强,可以方便地对集合中的元素进行操作。Stream流其实是一个集合元素的函数模型,它并不是集合,也不是数据结构,其实本身并不存储任何元素Stream是一个来自数据源的元素队列。简而言之,Stream就是提供了一种高效且易于使用的处理数据的方式。特点:

  • Stream自己不会存储元素;
  • Stream操作不会改变源对象;
  • Stream操作延迟执行,到终端操作时才会执行;

创建流

介绍

@ControllerAdvice顾名思义,用于Controller增强,是一个在类上声明的注解。可以用于定义**@ExceptionHandler@InitBinder@ModelAttribute,并应用到所有@RequestMapping**注解中(用于增强上述三个注解的作用范围)。使用方法常见有下面3种:

  1. 结合注解**@ExceptionHandler**,捕获制定类型的异常,从而对不同类型的异常区分处理。
  2. 结合注解**@InitBinde**r,用于绑定全局的属性编辑器或用于全局的参数预处理。
  3. 结合注解**@ModelAttribute**,设置全局数据,供所有的@RequestMapping使用。
阅读全文 »

一门技术如果不用,真是超快就忘记了。springboot都学几遍了,一两个星期不看,就忘得一干二净,索性自己好好总结一下,供以后经常翻翻,顺便熟悉一下idea。有很多其他大牛博客的东西,多找些资料总结一下。

万事开头难,加油!

Spring Boot 配置文件

SpringBoot使用一个全局的配置文件(resource文件夹下),配置文件名是固定的。
-application.properties
-application.yml
springboot推荐使用yml的方式进行配置(yml的确很方便)。
配置文件的作用:修改SpringBoot自动配置的默认值;

自定义属性与使用

虽然springboot帮我们配置了很多东西,但是有时候我们需要定义自己的配置,我们可以在application.yml中如下方式定义:

1
2
3
4
person:
name: xyb
age: 25
address: hns

然后就可以通过@Value(“${属性名}”)注解来加载对应的配置属性,具体如下:

羞愧

被社会的浮躁风气所感染,人都变得没有思想了。
不仅许久博客没写了,连读书也要丢弃了。趁着十一假期,脚上有伤,深刻反省了一波。
碎片化的阅读,抖音、头条让人变得如同不会思考,没有深度。感觉整个人都停滞不前,无法进步。
变成现在这样,非常羞愧!
正好把博客重新搭了一下,还是给自己点学习的压力。
希望自己坚持下去,保持一颗不焦虑的内心!

在浮躁的社会中,我携书本同行!

Spring MVC中的拦截器(Interceptor)类似于Servlet中的过滤器(Filter),它主要用于拦截用户请求并作相应的处理。通过拦截器可以进行权限验证、记录请求信息的日志、判断用户是否登录等。

阅读全文 »

概述

Deque意为双端队列,ArrayDeque显然是基于数组实现的双端队列,而且作为双端队列时,效率比LinkList高。而且其特性使它还可以当做栈来使用,效率比Stack高。
ArrayDeque是非线程安全的(not thread-safe),当多个线程同时使用的时候,需要程序员手动同步;另外,该容器不允许放入null元素。

阅读全文 »

问题

首先,我们遇到的问题是,当我们需要在controller中频繁的从session中获取数据,比如向下面这样
在controller中需要从session中获取user对象,那么可能你会想到在controller里面或者其他类里面写这样的代码,然后在controller里面调用….

阅读全文 »

有时候我们想统一处理一个Controller中抛出的异常怎么搞呢?
直接在Controller里面加上用@ExceptionHandler标注一个处理异常的方法像下面这样子,@ExceptionHandler只在当前controller里面有效。当前controller中所有抛出指定异常的方法。

阅读全文 »

最近在进行项目开发的时候需要对接口做Session验证

自定义一个注解@AuthCheckAnnotation

1
2
3
4
5
6
7
@Documented
@Target(ElementType.METHOD)
@Inherited
@Retention(RetentionPolicy.RUNTIME)
public @interface AuthCheckAnnotation {
boolean check() default false;//默认不需要进行验证
}
阅读全文 »