Java8新特性
Lambda表达式Lambda 表达式,也可称为闭包
Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)
使用 Lambda 表达式可以使代码变的更加简洁紧凑
语法
(parameters) -> expression或者(parameters) -> { statements }
重要特征
可选类型声明:不需要声明参数类型,编译器可以统一识别参数值
可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号
可选的大括号:如果主体包含了一个语句,就不需要使用大括号
可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定表达式返回了一个数值
// 1. 不需要参数,返回值为 5 () -> 5 // 2. 接收一个参数(数字类型),返回其2倍的值 x -> 2 * x // 3. 接受2个参数(数字),并返回他们的差值 (x, y) -> x – y // 4. 接收2个int型整数,返回他们的和 (int x, int y) -> x + y ...
Redis(三)
Redis.conf 详解启动的时候,就通过配置文件启动
行家有没有,出手就知道
单位
配置文件表示unit单位,对于大小写不敏感
包含
可以用来添加redis的配置文件
网络配置
bind 127.0.0.1 绑定的ip目前运行本机访问,可以设置其他ip来允许其他访问
保护模式
端口设置
通用配置GENERAL
以守护进程的模式运行,默认是no 需要设置为yes
如果以守护进程(后台)运行,就需要设置一个pid文件
日志级别
notice是生产环境使用
logfile 生成的日志文件名,需要手动配置
默认数据库的数量 默认 16个数据库
always-show-logo 是否显示logo
快照
在规定的时间内,执行了多少次操作,则会持久化到文件.rdb .aof
redis是内存数据库,如果没有持久化,那么数据断电即失
如果 3600s 之类,修改了一个key 300s内 修改了100个key 60s内,修改了10000个key 就进行持久化
持久化出错了,是否还继续工作
是否压缩rdb文件,需要消化一些cpu的资源
保存rdb的时候,进行错误的校验
r ...
Redis(2)
SpringBoot整合RedisSpringBoot操作数据层:Spring-data jpa jdbc mongodb redis!!!
说明:在SpringBoot2.x之后,原来使用的jedis被替换为了lettuce?
jedis:采用的直连,多个线程操作的话,是不安全的,如果想要避免不安全,使用Jedis pool连接池! BIO
lettuce:采用netty,实例可以在多个线程中进行共享,不存在线程不安全的情况!可以减少线程数据了,更像NIO模式
SpringBoot所有的配置类都有一个自动配置类,自动配置类都会绑定一个properties 配置文件
源码分析
@Bean @ConditionalOnMissingBean( name = {"redisTemplate"} ) public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) throws Unkno ...
SpringBoot中Controller层的传参及用法
GET请求传参
GET请求传参都是通过在url之后拼接进行传参的吗,在请求的路径后面?表示参数 ,多个参数用&进行连接,参数采取键值对的形式 eg name=zhangsan&age=18
对应的方法的参数
可以直接使用与路径参数相同的变量名来接收参数 (String name, Interage age)
可以使用一个javabean来接受参数,要求javabean里面的属性名必须要和参数名相同,并且要有get和set方法,属性的类型要使用包装类,不要使用基本数据类型,会出现一些不必要的错误,比如使用boolean的时候,如果不传入参数,会导致对应属性的默认值为false,而不是null,在配合数据库的默认值的时候会导致,对应字段默认变为false
可以使用@RequestParam(value = “参数字段名”,required = false/true,defaultValue = “”) 来灵活的接收参数
POST与其他请求传参
使用JSON来传参,使用对应的实体类来接收参数,请求头需要有Con ...