springboot+dubbo+redis+RabbitMQ 项目整合实例
发布日期:2021-05-19 16:42:51 浏览次数:24 分类:精选文章

本文共 2998 字,大约阅读时间需要 9 分钟。

Spring Boot 项目实战经验

从零开始到项目实战,共整理了一个完整的Spring Boot项目开发经验,将从项目结构到代码实现详细记录。以下是一些实用经验分享,供参考。

项目 directories 结构

Top-Level pom

  • -- api:公共 API、DTO 等 jar
  • -- foundation:公共基设 jar
  • -- modules:前端 consumer pom
  • -- www:官网 jar
  • -- admin:后台 jar
  • -- service:服务 provider(可拆分)
  • -- user:用户中心 jar
  • -- order:订单中心 jar
  • -- ...

使用技术

  • Spring Boot
  • Dubbo
  • Zookeeper
  • MyBatis
  • Redis
  • RabbitMQ
  • Druid
  • Swagger

项目截图示例

  • [Swagger 接口文档](https://img-cdn.csdn.net/2018/07/02/0 getUser?watermark=2&text=aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0RvbWVf)
  • Dubbo 后台管理界面
  • RabbitMQ 管理界面

示例代码

消费者(暴露给前端的 controller)

package com.ysk.admin.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/")
private class TestController {
@Reference(version = "1.0.0")
private UserService testService;
@GetMapping("hello")
public String hello() {
return testService.sayHello("Hello springboot and dubbo!");
}
@GetMapping("user")
public User user() {
return testService.findUser();
}
@GetMapping("list")
public List
list(@RequestParam(defaultValue = "1") int page,
@RequestParam(defaultValue = "10") int pageSize) {
return testService.getUser(page, pageSize);
}
@RequestMapping(method = RequestMethod.POST, value = "add")
public List
add(@RequestBody User user) {
System.out.println(user.toString());
return null;
}
@GetMapping("getuserfromredis")
public User getRedis(@RequestParam String key) {
return testService.getUserForRedis(key);
}
}

Redis 配置

spring.datasource.url = jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.driverClassName = com.mysql.jdbc.Driver
#数据库连接池配置
spring.datasource.initial-size=5
spring.datasource.min-idle=5
spring.datasource.max-idle=8
spring.datasource.max-active=20
spring.datasource.max-wait=60000
spring.datasource.timeBetweenEvictionRunsMillis=60000
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
spring.datasource.poolPreparedStatements=true
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20

###{text本} 这篇文章主要讲述了一个基于Spring Boot的后台管理系统项目,涉及Dubbo分布式服务、Redis缓存、RabbitMQ消息队列等技术的应用。文章详细介绍了项目的目录结构、配置管理、代码实现以及使用的各种技术工具。同时,文章还附有部分代码示例和项目截图,展示了实际应用中的实现效果。

文章内容经过优化,去除了图片和链接,保留了文字内容,结构已稍作重新组织。内容虽无正式的小标题,但本质上可以视为对某个Spring Boot项目实战经验的详细描述。

从内容角度看,文章主要围绕以下几个方面展开:

  • 项目 directories 结构描述
  • 项目采用的技术列表
  • 系统功能展示
  • 具例代码
  • 配置文件示例
  • 文章保持ed Techincal内容不变,但以更加简洁易懂的方式呈现。对于技术背景较深的读者,本文依然能够提供不错的参考价值。而对于技术新手,本文也提供了一个可参考的项目框架和思路。

    上一篇:Java POI 导出EXCEL经典实现
    下一篇:Nmap笔记

    发表评论

    最新留言

    不错!
    [***.144.177.141]2025年04月22日 23时32分32秒