From 4484b8d2afbe5090aac73e690183bb43ec2e1e83 Mon Sep 17 00:00:00 2001
From: luoxiang <2806718453@qq.com>
Date: Mon, 31 Dec 2018 18:51:18 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E7=94=A8=E4=BE=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
spring-boot/spring-boot-jsp/pom.xml | 58 +++++++++++++++
.../springboot/SpringBootJspApplication.java | 14 ++++
.../springboot/bean/Programmer.java | 24 +++++++
.../springboot/controller/JspController.java | 24 +++++++
.../src/main/resources/application.yml | 5 ++
.../src/main/webapp/WEB-INF/jsp/show.jsp | 13 ++++
.../src/main/webapp/css/show.css | 4 ++
.../SpringBootJspApplicationTests.java | 17 +++++
spring-boot/spring-boot-mongodb/pom.xml | 48 +++++++++++++
.../SpringBootMongodbApplication.java | 14 ++++
.../springboot/bean/Programmer.java | 26 +++++++
.../repository/ProgrammerRepository.java | 18 +++++
.../src/main/resources/application.yml | 5 ++
.../heibaiying/springboot/MongoJPATests.java | 72 +++++++++++++++++++
.../springboot/MongoOriginalTests.java | 68 ++++++++++++++++++
spring-boot/spring-boot-redis/pom.xml | 55 ++++++++++++++
.../SpringBootRedisApplication.java | 14 ++++
.../springbootredis/bean/Programmer.java | 28 ++++++++
.../springbootredis/config/RedisConfig.java | 43 +++++++++++
.../redis/RedisObjectOperation.java | 70 ++++++++++++++++++
.../springbootredis/redis/RedisOperation.java | 70 ++++++++++++++++++
.../src/main/resources/application.yml | 9 +++
.../springbootredis/RedisObjectTests.java | 57 +++++++++++++++
.../springbootredis/RedisTests.java | 47 ++++++++++++
spring-boot/spring-boot-tomcat/pom.xml | 63 ++++++++++++++++
.../SpringBootTomcatApplication.java | 28 ++++++++
.../springboottomcat/bean/Programmer.java | 24 +++++++
.../controller/JspController.java | 24 +++++++
.../src/main/resources/application.yml | 5 ++
.../src/main/webapp/WEB-INF/jsp/show.jsp | 13 ++++
.../src/main/webapp/css/show.css | 4 ++
.../SpringBootTomcatApplicationTests.java | 17 +++++
spring-boot/spring-boot-websocket/pom.xml | 56 +++++++++++++++
.../SpringBootWebsocketApplication.java | 14 ++++
.../springboot/constant/Constant.java | 17 +++++
.../controller/LoginController.java | 28 ++++++++
.../springboot/websocket/ChatSocket.java | 51 +++++++++++++
.../springboot/websocket/WebSocketConfig.java | 17 +++++
.../src/main/resources/application.properties | 0
.../src/main/resources/templates/chat.ftl | 39 ++++++++++
.../src/main/resources/templates/index.ftl | 12 ++++
.../SpringBootWebsocketApplicationTests.java | 17 +++++
.../heibaiying/websocket/CustomerHandler.java | 1 +
43 files changed, 1233 insertions(+)
create mode 100644 spring-boot/spring-boot-jsp/pom.xml
create mode 100644 spring-boot/spring-boot-jsp/src/main/java/com/heibaiying/springboot/SpringBootJspApplication.java
create mode 100644 spring-boot/spring-boot-jsp/src/main/java/com/heibaiying/springboot/bean/Programmer.java
create mode 100644 spring-boot/spring-boot-jsp/src/main/java/com/heibaiying/springboot/controller/JspController.java
create mode 100644 spring-boot/spring-boot-jsp/src/main/resources/application.yml
create mode 100644 spring-boot/spring-boot-jsp/src/main/webapp/WEB-INF/jsp/show.jsp
create mode 100644 spring-boot/spring-boot-jsp/src/main/webapp/css/show.css
create mode 100644 spring-boot/spring-boot-jsp/src/test/java/com/heibaiying/springboot/SpringBootJspApplicationTests.java
create mode 100644 spring-boot/spring-boot-mongodb/pom.xml
create mode 100644 spring-boot/spring-boot-mongodb/src/main/java/com/heibaiying/springboot/SpringBootMongodbApplication.java
create mode 100644 spring-boot/spring-boot-mongodb/src/main/java/com/heibaiying/springboot/bean/Programmer.java
create mode 100644 spring-boot/spring-boot-mongodb/src/main/java/com/heibaiying/springboot/repository/ProgrammerRepository.java
create mode 100644 spring-boot/spring-boot-mongodb/src/main/resources/application.yml
create mode 100644 spring-boot/spring-boot-mongodb/src/test/java/com/heibaiying/springboot/MongoJPATests.java
create mode 100644 spring-boot/spring-boot-mongodb/src/test/java/com/heibaiying/springboot/MongoOriginalTests.java
create mode 100644 spring-boot/spring-boot-redis/pom.xml
create mode 100644 spring-boot/spring-boot-redis/src/main/java/com/heibaiying/springbootredis/SpringBootRedisApplication.java
create mode 100644 spring-boot/spring-boot-redis/src/main/java/com/heibaiying/springbootredis/bean/Programmer.java
create mode 100644 spring-boot/spring-boot-redis/src/main/java/com/heibaiying/springbootredis/config/RedisConfig.java
create mode 100644 spring-boot/spring-boot-redis/src/main/java/com/heibaiying/springbootredis/redis/RedisObjectOperation.java
create mode 100644 spring-boot/spring-boot-redis/src/main/java/com/heibaiying/springbootredis/redis/RedisOperation.java
create mode 100644 spring-boot/spring-boot-redis/src/main/resources/application.yml
create mode 100644 spring-boot/spring-boot-redis/src/test/java/com/heibaiying/springbootredis/RedisObjectTests.java
create mode 100644 spring-boot/spring-boot-redis/src/test/java/com/heibaiying/springbootredis/RedisTests.java
create mode 100644 spring-boot/spring-boot-tomcat/pom.xml
create mode 100644 spring-boot/spring-boot-tomcat/src/main/java/com/heibaiying/springboottomcat/SpringBootTomcatApplication.java
create mode 100644 spring-boot/spring-boot-tomcat/src/main/java/com/heibaiying/springboottomcat/bean/Programmer.java
create mode 100644 spring-boot/spring-boot-tomcat/src/main/java/com/heibaiying/springboottomcat/controller/JspController.java
create mode 100644 spring-boot/spring-boot-tomcat/src/main/resources/application.yml
create mode 100644 spring-boot/spring-boot-tomcat/src/main/webapp/WEB-INF/jsp/show.jsp
create mode 100644 spring-boot/spring-boot-tomcat/src/main/webapp/css/show.css
create mode 100644 spring-boot/spring-boot-tomcat/src/test/java/com/heibaiying/springboottomcat/SpringBootTomcatApplicationTests.java
create mode 100644 spring-boot/spring-boot-websocket/pom.xml
create mode 100644 spring-boot/spring-boot-websocket/src/main/java/com/heibaiying/springboot/SpringBootWebsocketApplication.java
create mode 100644 spring-boot/spring-boot-websocket/src/main/java/com/heibaiying/springboot/constant/Constant.java
create mode 100644 spring-boot/spring-boot-websocket/src/main/java/com/heibaiying/springboot/controller/LoginController.java
create mode 100644 spring-boot/spring-boot-websocket/src/main/java/com/heibaiying/springboot/websocket/ChatSocket.java
create mode 100644 spring-boot/spring-boot-websocket/src/main/java/com/heibaiying/springboot/websocket/WebSocketConfig.java
create mode 100644 spring-boot/spring-boot-websocket/src/main/resources/application.properties
create mode 100644 spring-boot/spring-boot-websocket/src/main/resources/templates/chat.ftl
create mode 100644 spring-boot/spring-boot-websocket/src/main/resources/templates/index.ftl
create mode 100644 spring-boot/spring-boot-websocket/src/test/java/com/heibaiying/springboot/SpringBootWebsocketApplicationTests.java
diff --git a/spring-boot/spring-boot-jsp/pom.xml b/spring-boot/spring-boot-jsp/pom.xml
new file mode 100644
index 0000000..07b7ad7
--- /dev/null
+++ b/spring-boot/spring-boot-jsp/pom.xml
@@ -0,0 +1,58 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.1.1.RELEASE
+
+
+ com.heibaiying
+ spring-boot-jsp
+ 0.0.1-SNAPSHOT
+ spring-boot-jsp
+ JSP project for Spring Boot
+
+
+ 1.8
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ org.projectlombok
+ lombok
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+ org.apache.tomcat.embed
+ tomcat-embed-jasper
+ provided
+
+
+ javax.servlet
+ jstl
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/spring-boot/spring-boot-jsp/src/main/java/com/heibaiying/springboot/SpringBootJspApplication.java b/spring-boot/spring-boot-jsp/src/main/java/com/heibaiying/springboot/SpringBootJspApplication.java
new file mode 100644
index 0000000..9fa00cd
--- /dev/null
+++ b/spring-boot/spring-boot-jsp/src/main/java/com/heibaiying/springboot/SpringBootJspApplication.java
@@ -0,0 +1,14 @@
+package com.heibaiying.springboot;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class SpringBootJspApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(SpringBootJspApplication.class, args);
+ }
+
+}
+
diff --git a/spring-boot/spring-boot-jsp/src/main/java/com/heibaiying/springboot/bean/Programmer.java b/spring-boot/spring-boot-jsp/src/main/java/com/heibaiying/springboot/bean/Programmer.java
new file mode 100644
index 0000000..58d1b70
--- /dev/null
+++ b/spring-boot/spring-boot-jsp/src/main/java/com/heibaiying/springboot/bean/Programmer.java
@@ -0,0 +1,24 @@
+package com.heibaiying.springboot.bean;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDate;
+
+/**
+ * @author : heibaiying
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Programmer {
+
+ private String name;
+
+ private int age;
+
+ private float salary;
+
+ private LocalDate birthday;
+}
diff --git a/spring-boot/spring-boot-jsp/src/main/java/com/heibaiying/springboot/controller/JspController.java b/spring-boot/spring-boot-jsp/src/main/java/com/heibaiying/springboot/controller/JspController.java
new file mode 100644
index 0000000..92b2dc1
--- /dev/null
+++ b/spring-boot/spring-boot-jsp/src/main/java/com/heibaiying/springboot/controller/JspController.java
@@ -0,0 +1,24 @@
+package com.heibaiying.springboot.controller;
+
+import com.heibaiying.springboot.bean.Programmer;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import java.time.LocalDate;
+
+/**
+ * @author : heibaiying
+ */
+
+@Controller
+@RequestMapping("index")
+public class JspController {
+
+ @RequestMapping
+ public String jsp(Model model){
+ Programmer programmer = new Programmer("heibai", 21, 1298.31f, LocalDate.now());
+ model.addAttribute("programmer",programmer);
+ return "show";
+ }
+}
diff --git a/spring-boot/spring-boot-jsp/src/main/resources/application.yml b/spring-boot/spring-boot-jsp/src/main/resources/application.yml
new file mode 100644
index 0000000..77489aa
--- /dev/null
+++ b/spring-boot/spring-boot-jsp/src/main/resources/application.yml
@@ -0,0 +1,5 @@
+spring:
+ mvc:
+ view:
+ prefix: /WEB-INF/jsp/
+ suffix: .jsp
\ No newline at end of file
diff --git a/spring-boot/spring-boot-jsp/src/main/webapp/WEB-INF/jsp/show.jsp b/spring-boot/spring-boot-jsp/src/main/webapp/WEB-INF/jsp/show.jsp
new file mode 100644
index 0000000..cd0f50b
--- /dev/null
+++ b/spring-boot/spring-boot-jsp/src/main/webapp/WEB-INF/jsp/show.jsp
@@ -0,0 +1,13 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+
+
+ programmer
+
+
+
+
+ - 姓名: ${programmer.name}
+ - 年龄: ${programmer.age}
+
+
+
\ No newline at end of file
diff --git a/spring-boot/spring-boot-jsp/src/main/webapp/css/show.css b/spring-boot/spring-boot-jsp/src/main/webapp/css/show.css
new file mode 100644
index 0000000..c5ef712
--- /dev/null
+++ b/spring-boot/spring-boot-jsp/src/main/webapp/css/show.css
@@ -0,0 +1,4 @@
+li{
+ font-size: 30px;
+ color: blueviolet;
+}
\ No newline at end of file
diff --git a/spring-boot/spring-boot-jsp/src/test/java/com/heibaiying/springboot/SpringBootJspApplicationTests.java b/spring-boot/spring-boot-jsp/src/test/java/com/heibaiying/springboot/SpringBootJspApplicationTests.java
new file mode 100644
index 0000000..54bbb8d
--- /dev/null
+++ b/spring-boot/spring-boot-jsp/src/test/java/com/heibaiying/springboot/SpringBootJspApplicationTests.java
@@ -0,0 +1,17 @@
+package com.heibaiying.springboot;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class SpringBootJspApplicationTests {
+
+ @Test
+ public void contextLoads() {
+ }
+
+}
+
diff --git a/spring-boot/spring-boot-mongodb/pom.xml b/spring-boot/spring-boot-mongodb/pom.xml
new file mode 100644
index 0000000..2989e79
--- /dev/null
+++ b/spring-boot/spring-boot-mongodb/pom.xml
@@ -0,0 +1,48 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.1.1.RELEASE
+
+
+ com.heibaiying
+ spring-boot-mongodb
+ 0.0.1-SNAPSHOT
+ spring-boot-mongodb
+ mongodb demo project for Spring Boot
+
+
+ 1.8
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-mongodb
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.projectlombok
+ lombok
+ true
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/spring-boot/spring-boot-mongodb/src/main/java/com/heibaiying/springboot/SpringBootMongodbApplication.java b/spring-boot/spring-boot-mongodb/src/main/java/com/heibaiying/springboot/SpringBootMongodbApplication.java
new file mode 100644
index 0000000..68906d9
--- /dev/null
+++ b/spring-boot/spring-boot-mongodb/src/main/java/com/heibaiying/springboot/SpringBootMongodbApplication.java
@@ -0,0 +1,14 @@
+package com.heibaiying.springboot;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class SpringBootMongodbApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(SpringBootMongodbApplication.class, args);
+ }
+
+}
+
diff --git a/spring-boot/spring-boot-mongodb/src/main/java/com/heibaiying/springboot/bean/Programmer.java b/spring-boot/spring-boot-mongodb/src/main/java/com/heibaiying/springboot/bean/Programmer.java
new file mode 100644
index 0000000..74f3019
--- /dev/null
+++ b/spring-boot/spring-boot-mongodb/src/main/java/com/heibaiying/springboot/bean/Programmer.java
@@ -0,0 +1,26 @@
+package com.heibaiying.springboot.bean;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.data.annotation.Id;
+
+import java.util.Date;
+
+/**
+ * @author : heibaiying
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Programmer {
+
+ @Id
+ private String name;
+
+ private int age;
+
+ private float salary;
+
+ private Date birthday;
+}
diff --git a/spring-boot/spring-boot-mongodb/src/main/java/com/heibaiying/springboot/repository/ProgrammerRepository.java b/spring-boot/spring-boot-mongodb/src/main/java/com/heibaiying/springboot/repository/ProgrammerRepository.java
new file mode 100644
index 0000000..48ffe18
--- /dev/null
+++ b/spring-boot/spring-boot-mongodb/src/main/java/com/heibaiying/springboot/repository/ProgrammerRepository.java
@@ -0,0 +1,18 @@
+package com.heibaiying.springboot.repository;
+
+import com.heibaiying.springboot.bean.Programmer;
+import org.springframework.data.mongodb.repository.MongoRepository;
+
+/**
+ * @author : heibaiying
+ * @description : jpa 方式查询 对于mongo而言 更推荐这种查询方式 比起原生的语法更加简洁
+ */
+public interface ProgrammerRepository extends MongoRepository {
+
+ void deleteAllByName(String name);
+
+ Programmer findAllByName(String names);
+
+ Programmer findByNameAndAge(String name, int age);
+
+}
diff --git a/spring-boot/spring-boot-mongodb/src/main/resources/application.yml b/spring-boot/spring-boot-mongodb/src/main/resources/application.yml
new file mode 100644
index 0000000..c88dfa5
--- /dev/null
+++ b/spring-boot/spring-boot-mongodb/src/main/resources/application.yml
@@ -0,0 +1,5 @@
+spring:
+ data:
+ mongodb:
+ database: spring
+ uri: mongodb://192.168.0.108:27017
\ No newline at end of file
diff --git a/spring-boot/spring-boot-mongodb/src/test/java/com/heibaiying/springboot/MongoJPATests.java b/spring-boot/spring-boot-mongodb/src/test/java/com/heibaiying/springboot/MongoJPATests.java
new file mode 100644
index 0000000..4809050
--- /dev/null
+++ b/spring-boot/spring-boot-mongodb/src/test/java/com/heibaiying/springboot/MongoJPATests.java
@@ -0,0 +1,72 @@
+package com.heibaiying.springboot;
+
+import com.heibaiying.springboot.bean.Programmer;
+import com.heibaiying.springboot.repository.ProgrammerRepository;
+import com.mongodb.client.result.DeleteResult;
+import com.mongodb.client.result.UpdateResult;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.data.domain.Page;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Optional;
+
+import static org.springframework.data.mongodb.core.query.Criteria.where;
+import static org.springframework.data.mongodb.core.query.Query.query;
+import static org.springframework.data.mongodb.core.query.Update.update;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class MongoJPATests {
+
+ @Autowired
+ private ProgrammerRepository repository;
+
+ @Test
+ public void insert() {
+ // 单条插入
+ repository.save(new Programmer("python", 23, 21832.34f, new Date()));
+ // 批量插入
+ List programmers = new ArrayList();
+ programmers.add(new Programmer("java", 21, 52200.21f, new Date()));
+ programmers.add(new Programmer("Go", 34, 500.21f, new Date()));
+ repository.saveAll(programmers);
+ }
+
+ // 条件查询
+ @Test
+ public void select() {
+ Programmer java = repository.findByNameAndAge("java", 21);
+ Assert.assertEquals(java.getSalary(), 52200.21f, 0.01);
+ }
+
+
+ // 更新数据
+ @Test
+ public void MUpdate() {
+ repository.save(new Programmer("Go", 8, 500.21f, new Date()));
+ Programmer go = repository.findAllByName("Go");
+ Assert.assertEquals(go.getAge(), 8);
+ }
+
+ // 删除指定数据
+ @Test
+ public void delete() {
+ repository.deleteAllByName("python");
+ Optional python = repository.findById("python");
+ Assert.assertFalse(python.isPresent());
+ }
+
+}
+
diff --git a/spring-boot/spring-boot-mongodb/src/test/java/com/heibaiying/springboot/MongoOriginalTests.java b/spring-boot/spring-boot-mongodb/src/test/java/com/heibaiying/springboot/MongoOriginalTests.java
new file mode 100644
index 0000000..68b90d1
--- /dev/null
+++ b/spring-boot/spring-boot-mongodb/src/test/java/com/heibaiying/springboot/MongoOriginalTests.java
@@ -0,0 +1,68 @@
+package com.heibaiying.springboot;
+
+import com.heibaiying.springboot.bean.Programmer;
+import com.mongodb.client.result.DeleteResult;
+import com.mongodb.client.result.UpdateResult;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import static org.springframework.data.mongodb.core.query.Criteria.where;
+import static org.springframework.data.mongodb.core.query.Query.query;
+import static org.springframework.data.mongodb.core.query.Update.update;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class MongoOriginalTests {
+
+ @Autowired
+ private MongoTemplate mongoTemplate;
+
+ @Test
+ public void insert() {
+ // 单条插入
+ mongoTemplate.insert(new Programmer("xiaoming", 12, 5000.21f, new Date()));
+ List programmers = new ArrayList();
+ // 批量插入
+ programmers.add(new Programmer("xiaohong", 21, 52200.21f, new Date()));
+ programmers.add(new Programmer("xiaolan", 34, 500.21f, new Date()));
+ mongoTemplate.insert(programmers, Programmer.class);
+ }
+
+ // 条件查询
+ @Test
+ public void select() {
+ Criteria criteria = new Criteria();
+ criteria.andOperator(where("name").is("xiaohong"), where("age").is(21));
+ Query query = new Query(criteria);
+ Programmer one = mongoTemplate.findOne(query, Programmer.class);
+ System.out.println(one);
+ }
+
+
+ // 更新数据
+ @Test
+ public void MUpdate() {
+ UpdateResult updateResult = mongoTemplate.updateMulti(query(where("name").is("xiaoming")), update("age", 35), Programmer.class);
+ System.out.println("更新记录数:" + updateResult.getModifiedCount());
+ }
+
+ // 删除指定数据
+ @Test
+ public void delete() {
+ DeleteResult result = mongoTemplate.remove(query(where("name").is("xiaolan")), Programmer.class);
+ System.out.println("影响记录数:" + result.getDeletedCount());
+ System.out.println("是否成功:" + result.wasAcknowledged());
+ }
+
+}
+
diff --git a/spring-boot/spring-boot-redis/pom.xml b/spring-boot/spring-boot-redis/pom.xml
new file mode 100644
index 0000000..4a9bde7
--- /dev/null
+++ b/spring-boot/spring-boot-redis/pom.xml
@@ -0,0 +1,55 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.1.1.RELEASE
+
+
+ com.heibaiying
+ spring-boot-redis
+ 0.0.1-SNAPSHOT
+ spring-boot-redis
+ Redis project for Spring Boot
+
+
+ 1.8
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.projectlombok
+ lombok
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ 2.9.8
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/spring-boot/spring-boot-redis/src/main/java/com/heibaiying/springbootredis/SpringBootRedisApplication.java b/spring-boot/spring-boot-redis/src/main/java/com/heibaiying/springbootredis/SpringBootRedisApplication.java
new file mode 100644
index 0000000..a71eff4
--- /dev/null
+++ b/spring-boot/spring-boot-redis/src/main/java/com/heibaiying/springbootredis/SpringBootRedisApplication.java
@@ -0,0 +1,14 @@
+package com.heibaiying.springbootredis;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class SpringBootRedisApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(SpringBootRedisApplication.class, args);
+ }
+
+}
+
diff --git a/spring-boot/spring-boot-redis/src/main/java/com/heibaiying/springbootredis/bean/Programmer.java b/spring-boot/spring-boot-redis/src/main/java/com/heibaiying/springbootredis/bean/Programmer.java
new file mode 100644
index 0000000..a106070
--- /dev/null
+++ b/spring-boot/spring-boot-redis/src/main/java/com/heibaiying/springbootredis/bean/Programmer.java
@@ -0,0 +1,28 @@
+package com.heibaiying.springbootredis.bean;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.util.Date;
+
+/**
+ * @author : heibaiying
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode
+public class Programmer implements Serializable {
+
+ private String name;
+
+ private int age;
+
+ private float salary;
+
+ private Date birthday;
+}
\ No newline at end of file
diff --git a/spring-boot/spring-boot-redis/src/main/java/com/heibaiying/springbootredis/config/RedisConfig.java b/spring-boot/spring-boot-redis/src/main/java/com/heibaiying/springbootredis/config/RedisConfig.java
new file mode 100644
index 0000000..12ebd0d
--- /dev/null
+++ b/spring-boot/spring-boot-redis/src/main/java/com/heibaiying/springbootredis/config/RedisConfig.java
@@ -0,0 +1,43 @@
+package com.heibaiying.springbootredis.config;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.PropertyAccessor;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+/**
+ * @author : heibaiying
+ * @description : 自定义序列化器
+ * 不定义的话默认采用的是serializer.JdkSerializationRedisSerializer.serialize()序列化为二进制字节码 存储在数据库中不直观
+ */
+@Configuration
+public class RedisConfig {
+
+ @Bean
+ public RedisTemplate