springBoot 搭建web项目(前后端分离,附项目源代码地址)

 

概述

该项目包含springBoot-example-ui 和 springBoot-example,分别为前端与后端,前后端分离,利用ajax交互。

注意:涉及跨域,故springBoot-example在 controller类上添加类了@CrossOrigin,以此支持跨域请求


springBoot-example-ui(前端)


springBoot-example(后端)

1、技术架构

后端以springboot、maven多模块为基础框架,数据库为mysql+redis,实现简单的CRUD功能。前后端以RESTFUL风格的ajax请求来进行交互。

2、项目分层

  • springBoot-api 控制层,主要是各类controller

    • 实现对mysql常见的CRUD请求(PUT、DELETE、PATCH、POST、GET等),以自定义的Response来返回至客户端(主要体现在 RedisExampleController.java类中)
    • 实现SpringBoot下redis的set与get(主要体现在 RedisExampleController.java类中)
  • springBoot-base 接口层,包含service接口和entiy实体类

  • springBoot-util 工具类层

  • 项目代码总体结构如下:

3、项目启动

项目成功启动时,控制台: 

4、springboot + redis 相关

  • 代码如下:
@RestController
public class RedisExampleController { @Autowired
private IRedisService redisService; @RequestMapping("/redis/set")
public Object redisSet(@RequestParam("value")String value){
boolean isOk = redisService.setString("name", value);
if(isOk){
return new XPFSingleResponse("redis新增成功");
}else{
return new XPFBadRequestException("redis新增失败");
}
} @RequestMapping("/redis/get")
public Object redisGet(){
String name = redisService.getString("name");
return new XPFSingleResponse("redis获取:" + name);
}
}
  • 配置如下(路径在 springBoot-api\src\main\resources\application-dev.properties):
#REDIS
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=127.0.0.1
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active=8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=0

 

springBoot 搭建web项目(前后端分离,附项目源代码地址)的更多相关文章

  1. 【转】前后端分离的项目如何部署发布到Linux

    前后端分离的项目如何部署发布到Linux 前期准备 1.服务器的基本配置信息2.本机远程连接服务器的工具(xshell.xftp或者mobaXterm等等,看你自己喜欢) 第一步:部署环境 1.安装j ...

  2. 【转】Web实现前后端分离,前后端解耦

    一.前言 ”前后端分离“已经成为互联网项目开发的业界标杆,通过Tomcat+Ngnix(也可以中间有个Node.js),有效地进行解耦.并且前后端分离会为以后的大型分布式架构.弹性计算架构.微服务架构 ...

  3. 前后端分离架构:Web实现前后端分离,前后端解耦

    一.前言 ”前后端分离“已经成为互联网项目开发的业界标杆,通过Tomcat+Ngnix(也可以中间有个Node.js),有效地进行解耦.并且前后端分离会为以后的大型分布式架构.弹性计算架构.微服务架构 ...

  4. Web实现前后端分离,前后端解耦

    一.前言 ”前后端分离“已经成为互联网项目开发的业界标杆,通过Tomcat+Ngnix(也可以中间有个Node.js),有效地进行解耦.并且前后端分离会为以后的大型分布式架构.弹性计算架构.微服务架构 ...

  5. 【转】前后端分离架构:web实现前后端分离,前后端解耦

    一.前言 ”前后端分离“已经成为互联网项目开发的业界标杆,通过Tomcat+Ngnix(也可以中间有个Node.js),有效地进行解耦.并且前后端分离会为以后的大型分布式架构.弹性计算架构.微服务架构 ...

  6. Springboot + Vue + shiro 实现前后端分离、权限控制

    本文总结自实习中对项目对重构.原先项目采用Springboot+freemarker模版,开发过程中觉得前端逻辑写的实在恶心,后端Controller层还必须返回Freemarker模版的ModelA ...

  7. spring boot 2.0.0 + shiro + redis实现前后端分离的项目

    简介 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码学和会话管理.使用Shiro的易于理解的API,您可以快速.轻松地获得任何应用程序,从最小的移动应用程序到最大 ...

  8. REST风格框架实战:从MVC到前后端分离(附完整Demo)

    既然MVC模式这么好,难道它就没有不足的地方吗?我认为MVC至少有以下三点不足:(1)每次请求必须经过“控制器->模型->视图”这个流程,用户才能看到最终的展现的界面,这个过程似乎有些复杂 ...

  9. java结合node.js非对称加密,实现密文登录传参——让前后端分离的项目更安全

    前言   在参考互联网大厂的登录.订单.提现这类对安全性操作要求较高的场景操作时发现,传输的都是密文.而为了目前项目安全,我自己负责的项目也需要这方面的技术.由于,我当前的项目是使用了前后端分离技术, ...

  10. gin+vue的前后端分离开源项目

    该项目是gin+vue的前后端分离项目,使用gorm访问MySQL,其中vue前端是使用vue-element-admin框架简单实现的: go后台使用jwt,对API接口进行权限控制.此外,Web页 ...

随机推荐

  1. linux中make的用法

    一.linux中make的用法 目的:       基本掌握了make 的用法,能在Linux系统上编程.环境:       Linux系统准备:       准备三个文件:file1.c, file ...

  2. Java中枚举的使用

    Java中枚举其实就是静态常量,今天发现枚举里面其实还能加方法,学习了下, 代码如下: package org.pine.test; import java.util.HashMap; import ...

  3. angular $index获取ng-repeat的上一条数据

    <div ng-repeat="item in dataList" ng-click="func($index,$index-1)"></di ...

  4. react-conponent-hellocynthia

    <!DOCTYPE html> <html> <head> <script src="../../build/react.js">& ...

  5. [转]原生JS-查找相邻的元素-siblings方法的实现

    在针对element的操作里,查找附近的元素是一个不可少的过程,比如在实现tab时,其中的一个div增加了“on”class,其他的去除“on”class.如果用jquery的朋友就肯定不会陌生sib ...

  6. ABP问题速查表

    如果你领导要让你一夜之间掌握ABP,并且用ABP撸一个项目出来,你很可能很快速的过了一遍ABP文档就马上动手干活了.那么这篇文章就很适合你. 这篇文章列出了很多ABP新手问的问题和解答.注:有些同学问 ...

  7. htnl 定位

    相对定位 相对定位:position:relative; 相对定位:相对定位是相对于元素在文档中的初始位置——首先它出现在它所在的位置上(即不设置position时的位置,然后通过设置垂直或水平位置, ...

  8. Python基础知识点

    自学记录: 1.字符串 python中单引号和双引号使用完全相同. 使用三引号('''或""")可以指定一个多行字符串. 转义符 '\' 反斜杠可以用来转义,使用r可以让 ...

  9. Android 设计模式对比

    引言: Android框架的发展的过程就是一个不断化繁为简的过程,大家都在研究如何正确方便高效的规范代码.当然这条路也永远不会停止,就像新的芽儿,随着时间的流逝,每天都在长出新的枝叶,每天都在成长.对 ...

  10. 整理一些.net core中的错误代码

    在hosting .net core时,有些错误代码并不容易理解. 作为标记,方便查询,这些错误代码可能不会出现在VS的错误查找工具里,也不会出现在错误代码转字符描述的函数里. COR_E_AMBIG ...