SpringBoot入门整合开发java Web项目实例
项目描述
非原创,自己公司准备换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.properties中
测试(这里要首先把redis服务起来,其他地方有用到redis,不起会报错,保证数据库连接正确)
测试通过
四、数据库操作
1、添加相jar包
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、添加配置文件
4、自动根据方法生成缓存
其中value的值就是缓存到redis中的key
共享Session-spring-session-data-redis
分布式系统中,sessiong共享有很多的解决方案,其中托管到缓存中是最常用的方案之一,
1、引入依赖
maxInactiveIntervalInSeconds: 设置Session失效时间,使用Redis Session之后,原Boot的server.session.timeout属性不再生效
3、测试
登录http://localhost:8080/uid 发现会一致,就说明session 已经在redis里面进行有效的管理了。
最后注意点:
问题一:如图
redis连接不上,可能你的redis服务还没起来,若本地没有redis,下载一个
链接:https://pan.baidu.com/s/1dVEcYq 密码:8380
问题二:如图
猜你喜欢
- springboot整合jedis项目实例
- Springboot + mybatis + layui实现的增删改查项目实例
- SpringBoot项目,tk.mybatis通用mapper支持,shiro权限管理,以及mybatis分页插件,文件上传实例
- SpringBoot上传文件简单实例
- springboot入门demo实例
- springboot基于jwt完成服务的单点登录简单实例
- SpringBoot+Security实现sso单点登录项目实例
- SpringBoot+mybatis+Druid+Maven实现restful风格项目实例
- spring boot+mybatis+mysql项目搭建入门实例
- mac下spring boot基础增删改查项目实例
- springboot demo小例子
- SpringBoot大文件上传、js、分片上传、断点续传、秒传、大文件上传实例
- /
- /spring-boot-web
- /spring-boot-web/.idea
- /spring-boot-web/.idea/compiler.xml
- /spring-boot-web/.idea/encodings.xml
- /spring-boot-web/.idea/inspectionProfiles
- /spring-boot-web/.idea/libraries
- /spring-boot-web/.idea/libraries/Maven__antlr_antlr_2_7_7.xml
- /spring-boot-web/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_11.xml
- /spring-boot-web/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_11.xml
- /spring-boot-web/.idea/libraries/Maven__com_fasterxml_classmate_1_3_3.xml
- /spring-boot-web/src
- /spring-boot-web/src/main
- /spring-boot-web/src/main/java
- /spring-boot-web/src/main/java/com
- /spring-boot-web/src/main/java/com/neo
/spring-boot-web/src/main/java/com/neo/Application.java
- /spring-boot-web/src/main/java/com/neo/config
- /spring-boot-web/src/main/java/com/neo/domain
- /spring-boot-web/src/main/java/com/neo
- /spring-boot-web/src/main/java/com
- /spring-boot-web/src/main/java
- /spring-boot-web/src/main
- /spring-boot-web/.idea
- /spring-boot-web
- springboot demo小例子
- 证精 Springboot开发的精简博客系统
- 证 Springboot实现的图书商城系统
- 原证 springboot麦克风录制声音文件保存本地,可拓展ASR识别后返回
- 证精 SpringBoot开发非常美观的java博客系统(包含后台管理功能)
- 原 springboot入门之hello world(小白必看)
- 原证 springboot通过qq邮箱发送邮件
- 证精 Springboot开发的客户关系管理系统SpringbootCRM
- 证 SpringBoot用户登录注册简单实例
- 精 基于SpringBoot实现的学生就业管理系统
- 原 springboot入门demo实例
- 证 springboot自定义注解实现重置密码验证功能