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

时间:2024-01-10 08:15:26

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 工具类层

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

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

3、项目启动

项目成功启动时,控制台: springBoot 搭建web项目(前后端分离,附项目源代码地址)

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项目(前后端分离,附项目源代码地址)

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