一、Spring Boot环境搭建

1、把项目分成多个模块,每个模块对应一部分(不一定是一个章节)的内容,代码将在文章的具体位置给出,每个模块都是在之前模块的基础上构建,每个模块都为Spring Boot项目。

2、idea中新建一个Empty Project名为mymiaosha,在其下新建第一章对应的模块mymiaosha1,该模块代码包含到下文的二、集成Thymeleaf,Result结果封装为止,具体代码见下文。

二、集成Thymeleaf,Result结果封装

1、Result结果封装

1、对返回的JSON数据进行统一处理,一般包含状态码(code),状态信息(msg),数据(data),新建结果类Result,其中声明这三个变量用来封装返回数据,就可以用类似 new Result(0, "success", {data} ); new Result(500100, "服务端异常", null); 这种形式返回

2、为了进行更好的封装,可以在Result类中再做一次封装,封装成静态泛型方法使用类名直接调用,封装完后使用 Result.success( {data} ); Result.error(500100, "服务端异常");这种形式返回

3、由于状态码和状态信息是一体的,可以新建CodeMsg类来封装,声明状态码(code)、状态信息(msg)变量,然后进一步封装一个CodeMsg类型的静态变量,封装完后使用 Result.error(CodeMsg.SERVER_ERROR);来返回

4、由于具体数据的类型不确定,一般使用T类型,所以结果类也是一个泛型类,最后返回的类型就可以使用类似Result<String>这样

2、集成Thymeleaf

加入spring-boot-starter-thymeleaf依赖,默认的Thymeleaf模版文件放置位置如下,也可以自己更改。由于默认是这样,所以代码中省略没写

spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html

Thymeleaf其实就是html文件,需要在头部进行声明,再使用

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>hello</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p th:text="'hello:'+${name}" ></p>
</body>
</html>

最后新建控制类进行测试,具体见代码。如果上面文案不清楚的话,建议看我的代码提交,每一次提交依次对应构建的每一步。

至此,mymiaosha1模块构建完毕,上述文章代码参见我的本项目仓库地址中的mymiaosha1模块。同时下文在mymiaosha2模块上构建,mymiaosha2模块由mymiaosha1模块复制而来。

三、集成Mybatis+Druid

从这里开始,将在mymiaosha2模块上开发。

引入mybatis-spring-boot-starter依赖,它包含了mybatis依赖;引入druid依赖,mysql-connection-java依赖

配置数据库连接信息,使用Mybatis注解方式,直接在dao层接口方法上使用mybatis依赖下的注解

spring.datasource.url=jdbc:mysql://localhost:3306/miaosha?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false
spring.datasource.username=root
spring.datasource.password=123
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

spring-tx依赖下的@Transactional注解可以用在业务层的方法上进行事务管理

四、集成Jedis+Redis安装+通用缓存Key封装

Redis安装请参考我的文章Redis在Mac上的下载安装

SpringBoot项目中通过Jedis操作Redis请参考我的文章Spring Boot通过Jedis来操作Redis

通用缓存Key封装一般采用如下方式:接口->抽象类->实现类

(一)Java秒杀项目之项目环境搭建的更多相关文章

  1. OpenDaylight开发hello-world项目之开发环境搭建

    OpenDaylight开发hello-world项目之开发环境搭建 OpenDaylight开发hello-world项目之开发工具安装 OpenDaylight开发hello-world项目之代码 ...

  2. Java秒杀简单设计一:搭建springboot环境

    项目参考:慕课网  https://www.imooc.com/learn/587 Java秒杀 开发环境 JDK1.8.Maven.Mysql.Eclipse.SpringBoot2.0.5.myb ...

  3. node 项目中 koa2 环境搭建 以及项目发布

    环境搭建: 1.Koa 必须使用 7.6 以上的版本.如果你的版本低于这个要求,就要先升级 Node. 查看node版本方法:node -v 2.使用koa-generator生成器生成项目 安装ko ...

  4. 项目实战 Prometheus环境搭建

    项目摘要: 本文是搭建一套prometheus环境的教程. 前期准备:准备三台虚拟机,本文以centos7为例. 项目具体实施:分别进入每台虚拟机设置hostname:# hostnamectl se ...

  5. Vue.js项目的开发环境搭建与运行

    写作背景:手上入一个用Vue框架写的微信公众号项目,根据公司安排,我负责项目源代码的验收工作(当然专业的工作检测会交给web开发人员,我只是想运行起来看一看). 1 开发环境安装步骤: (一)安装no ...

  6. JAVA基础学习——1.1 环境搭建 之jdk安装,环境变量配置 (系统Win10,64bit)

    大学里虽然老师教过JAVA,但我没学.后来工作了,断断续续的也碰到了JAVA的项目,都是拉过来就干的节奏.也没有好好系统的学习一下. 从今天开始系统学习整理一下JAVA,以后再碰到JAVA项目的时候, ...

  7. java+接口自动化+eclipse之-----环境搭建

    根据金字塔的比重总结,UI测试占用10%,接口测试占有20%,单元测试占用70%.考虑到之前学过一段时间的单元测试.UI测试,而接口测试未曾接触过,所以最近打算看看接口测试是怎么实现的. 首先,我们先 ...

  8. Java不走弯路教程(1.环境搭建)

    1.环境搭建在开始写第一个Java程序之前,我们需要做一些简单的准备工作. 1.1 还记得DOS吗 我们可以通过图形界面来操作我们的电脑.但作为程序员,你首先需要学会用命令行的方式来操作电脑,因为不是 ...

  9. JAVA WEB快速入门之环境搭建

    前言 我是一直致力于:.NET技术栈.WEB前端.架构设计相关的开发与管理工作,但因国内大环境影响及公司技术方向发生转变(由.NET全部转为JAVA),需要熟练掌握JAVA WEB相关的知识,故我也得 ...

  10. Appium+Java(一) Windows环境搭建篇

    准备: Android版本 :4.2.2 nodejs版本:5.6.0 appium版本:v1.4.16 1. 安卓SDK及配置环境变量 1.1.先下载sdk安装包:installer_r24.4.1 ...

随机推荐

  1. hdu 5821 Ball 思维题

    Ball Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submis ...

  2. AtCoder AGC004E Salvage Robots (DP)

    题目链接 https://atcoder.jp/contests/agc004/tasks/agc004_e 题解 本题的难度不在于想到大体思路,而在于如何把代码写对.. 首先我们可以不让机器人动,让 ...

  3. JavaWeb-SpringBoot_(下)腾讯云点播服务之视频的显示-demo

    腾讯视频云点播 传送门 项目在腾讯云点播服务之视频的上传(上)[附源码]的基础上添加了两个html页面 此视频  播放传送门 (播放视频GIF会超过10M...) package com.Gary.v ...

  4. win7安装Elasticsearch和Elasticsearch-Head插件

    1.环境搭建 1)Java环境搭建可以参考相关的资料,这里不做详细介绍 2)nodejs环境搭建 到官方网站下载相应的zip包:https://nodejs.org/dist/v8.9.1/node- ...

  5. C++入门经典-例6.21-比较string字符串,比较两个字符串

    1:使用“>”.“!=”.“>=”等比较运算符可以比较两个字符串的内容.比较的方法是将两个string字符串从头开始比较每一个字符,直到出现两者不一致.比较这两个不相同的字符的字面值,得出 ...

  6. hdu 1166 线段树 奇兵布阵

    #include<iostream> using namespace std; ; )*];//n个叶子就有2*n-4*n个节点 ]; int n; void getup(int root ...

  7. java加密算法相关

    简介 RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的.1987年首次公布,当 ...

  8. 九、封装登录POST请求、登录后POST请求以及GET请求

    一.封装登录后POST请求以及GET请求 /** * 全局运行时环境参数管理器 */ public static Map<String, String> BASE_GLOBAL_MAP; ...

  9. [go]beego获取参数/返回参数

    获取前端传来的参数 获取数据并转为对应的类型 - ?id=111&id=122 c.GetInt("id") int,111 - ?id=111&id=122 c. ...

  10. 查询出与jack互为好友的人名字

    建表 /* Navicat MySQL Data Transfer Source Server : connect1 Source Server Version : 50611 Source Host ...