## download:算法与数据结构体系课【已完结】
本人公司准备换SpringCloud微效劳,最近正在学习这方面的东西,总结一下浅显易懂的材料,分享一下。
运转环境:
jdk8+mysql+IntelliJ IDEA+maven
项目技术
springboot+maven+Hibernate+thymeleaf
数据库文件
链接: https://pan.baidu.com/s/1qZVl4Qw 密码:2ngr
链接: https://pan.baidu.com/s/1nxqqvsX 密码: cc4r
项目截图
一、json 接口开发
在以前的spring 开发的时分需求我们提供json接口的时分需求做的配置
1.添加 jackjson 等相关jar包
2.配置spring controller扫描
3.对接的办法添加@ResponseBody
就这样我们会经常由于配置错误,招致406错误等等,spring boot如何做呢,只需求类添加@RestController即可,默许类中的办法都会以json的格式返回
二、自定义Filter
Spring Boot自动添加了OrderedCharacterEncodingFilter和HiddenHttpMethodFilter,并且我们能够自定义Filter
两个步骤:
1.完成Filter接口,完成Filter办法
2.添加@Configuration 注解,将自定义Filter参加过滤链
三、自定义Property
配置在application.propertie定义配置(这里要首先把redis效劳起来,其他*有用到redis,不起会报错,保证数据库衔接正确)
测试经过
四、数据库操作
1、添加相jar包
2、添配置文件
hibernate.hbm2ddl.auto参数的作用主要用于:自动创立|更新|考证数据库表构造,有四个值:
(1)、create: 每次加载hibernate时都会删除上一次的生成的表,然后依据你的model类再重新来生成新表,哪怕两次没有任何改动也要这样执行,这就是招致数据库表数据丧失的一个重要缘由。
(2)、create-drop :每次加载hibernate时依据model类生成表,但是sessionFactory一关闭,表就自动删除。
(3)、update:最常用的属性,第一次加载hibernate时依据model类会自动树立起表的构造(前提是先树立好数据库),以后加载hibernate时依据 model类自动更新表构造,即便表构造改动了但表中的行依然存在不会删除以前的行。要留意的是当部署到效劳器后,表构造是不会被马上树立起来的,是要等 应用第一次运转起来后才会。
(4)、validate :每次加载hibernate时,考证创立数据库表构造,只会和数据库中的表停止比拟,不会创立新表,但是会插入新值。
dialect 主要是指定生成表名的存储引擎为InneoDB
show-sql 能否打印出自动消费的SQL,便当调试的时分查看
3、添加实体类和Dao
dao只需继承JpaRepository类就能够,简直能够不用写办法,能够依据办法名来自动的消费SQL,比方findByUserName 会自动消费一个以 userName 为参数的查询办法,比方 findAlll 自动会查询表里面的一切数据,比方自动分页等等。。
Entity中不映射成列的字段得加@Transient注解,不加注解也会映射成列
测试
五、Spring boot中Redis的运用
Redis是目前业界运用最普遍的内存数据存储。相比memcached,Redis支持更丰厚的数据构造,例如hashes, lists, sets等,同时支持数据耐久化。除此之外,Redis还提供一些类数据库的特性,比方事务,HA,主从库。能够说Redis兼具了缓存系统和数据库的一些特性,因而有着丰厚的应用场景。
1、引入 spring-boot-starter-redis
2、添加配置文件
3、添加cache的配置类
3、接下来就能够直接运用了
4、自动依据办法生成缓存
其中value的值就是缓存到redis中的key
共享Session-spring-session-data-redis
散布式系统中,sessiong共享有很多的处理计划,其中托管到缓存中是最常用的计划之一,
1、引入依赖
2、Session配置:
maxInactiveIntervalInSeconds: 设置Session失效时间,运用Redis Session之后,原Boot的server.session.timeout属性不再生效
3、测试
登录redis 输入 keys '*sessions*'
登录http://localhost:8080/uid 发现会分歧,就阐明session 曾经在redis里面停止有效的管理了。
最后留意点:
问题一:如图
redis衔接不上,可能你的redis效劳还没起来,若本地没有redis,下载一个
链接:https://pan.baidu.com/s/1dVEcYq 密码:8380
问题二:如图
你的redis版本太低了,至少应该是2.8的